类的继承_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 类的继承

类的继承

 2013/12/3 12:26:07  vickypeng  程序员俱乐部  我要评论(0)
  • 摘要:假定我们定义一个学生类和大学生类,在学生类中,我们可以定义属性和方法,如果我们在大学生类中也用到了同样的方法和属性,我们不想再重新定义一次方法和属性,那么我们就需要用到继承。这体现了类与类之间的联系。因此,对于使用继承的原因有如下两个:一是减少通用的代码,提高代码的重用性;二是提高程序的扩展性,实现现实生活的继承关系。在Java中,继承的语法格式为:Java的关键字是:extends格式:publicclass类名(子类,超类,派生类extends类名(父类,基类){
  • 标签:继承
   假定我们定义一个学生类和大学生类,在学生类中,我们可以定义属性和方法,如果我们在大学生类中也用到了同样的方法和属性,我们不想再重新定义一次方法和属性,那么我们就需要用到继承。这体现了类与类之间的联系。因此,对于使用继承的原因有如下两个:一是减少通用的代码,提高代码的重用性;二是提高程序的扩展性,实现现实生活的继承关系。
   在Java中,继承的语法格式为:
            Java的关键字是:extends
                  格式:  public class 类名(子类,超类,派生类 extends    类名(父类,基类){  }
   那么对于父类和子类怎么理解呢?就好比如父亲的遗产,孩子可以继承,同样这也应用与Java中。于是,子类可以继承到父类所有的方法和属性。若子类和父类在同一个包下,默认的,受保护的(protected),公有的(public)属性和方法能被子类的对象并能在子类中调用。若子类和父类不再同一个包下,创建的对象又不在子类或者父类中的话,能被调用的属性和方法就只有公有的。如果在子类的{}中,那么可调用的属性和方法有公有的和受保护的。其中私有的为private。
   当子类从父类中继承了方法后,有更加详细或更好的方法时,这时就需要根据子类自己特有的情况来重新定义方法,需要用到方法的重写。
   方法的重写就是子类从父类中继承过来的方法重新写方法体。那么实现方法重写的条件是哪些呢?1、必须存在继承关系;2、方法返回值数据类型,方法名,参数个数,参数类型,参数顺序必须要完全一致;3、子类在重写方法时,访问修饰符的范围可以大于或者等于父类方法的访问修饰符。在实现方法重写后,如果你创建的对象是子类的对象,那么会优先调用子类的方法,如果子类没有改方法,才会执行父类中定义的方法。我们可以这样来理解方法重写,例如,在生活中,人们和学生选择去工作的交通方式,可以选择搭公交车去,可以选择自己开车去,也可以选择步行等,这就是方法的重写。学生继承人的属性和方法,去工作的交通方式又因为个体的不同而进行重新选择。
   当我们定义完子类和父类时,将子类对象的类型定义为父类类型的写法就是自动转型,也就是说子类对象的类型可以自动转成父类类型。其条件就是一定要存在继承关系。
   自动转型的格式有如下两种: 格式一: 父类  对象名;
                                       对象名 = new 子类名(实参,....);
                                 父类 对象名 = new 子类名(实参,...);
                          格式二: 第三方类中的方法
                                       public void method(父类 对象名){
                                     //调用的方法必须要在父类中存在      
                                      }
                                   创建对象
                                      父类 对象名A = new 子类名(实参,....);
                                子类 对象名B = new 子类名(实参,....);
                                   调用方法
                                            method(对象名A);
                                      method(对象名B);
  自动转型的优点能实现多态,减少重复的代码,但是在Java编译程序时,只会根据对象名的类型去查找是否存在该方法,若存在,则通过编译,否则就会报错。
  当子类类型转成父类类型后就不能在调用子类特有的方法,若还想要调用子类特有的方法,则必须要通过强制转型。
  对于多态,就是由方法重载,继承,方法重写,自动转型等技术点的组合。
发表评论
用户名: 匿名