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

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

类的继承总结

 2013/12/3 0:26:04  海王子1994  程序员俱乐部  我要评论(0)
  • 摘要:在生活中我们往往把许多东西归为一个整体,如球有篮球,足球,高尔夫球等,它们都具有球类共有的属性和方法,对于属性来说如大小,体积,重量等,对于方法亦如此。既然如此,在定义各种球的同时我们难道要重复定义相应的类,而且还要重复编写已有的代码吗??显然,简洁之美才为我们所推崇。于是,联系生活中的继承关系,类的继承就此诞生。Java继承的关键字是extends,格式为:publicclass类名(子类,超类,派生类)extends类名(父类,基类){}谈到继承,我们脑海中自然浮现出几个问题
  • 标签:总结 继承
   在生活中我们往往把许多东西归为一个整体,如球有篮球,足球,高尔夫球等,它们都具有球类共有的属性和方法,对于属性来说如大小,体积,重量等,对于方法亦如此。既然如此,在定义各种球的同时我们难道要重复定义相应的类,而且还要重复编写已有的代码吗??
显然,简洁之美才为我们所推崇。于是,联系生活中的继承关系,类的继承就此诞生。
    Java继承的关键字是extends,格式为:
        public class 类名(子类,超类,派生类) extends 类名(父类,基类) {

}
   谈到继承,我们脑海中自然浮现出几个问题:子类继承了父类的哪些属性和方法?能调用哪些属性和方法?实际上,子类继承了父类所有的属性和方法,然而,却不能调用所有的属性和方法。此外,调用也分为两种情形 :
1.当子类和父类在同包下时:默认的,受保护的,公有的属性和方法能被子类的对象以及在子类中调用。
2.当子类和父类不在同一个包下时,若创建的对象不在子类或者父类中时,可调用的属性和方法就只有公有的;如果在子类的{}中,可调用的属性和方法包括公有的和受保护的。
   此外谈到继承,我们也会提到“方法重写”这个名词。比如说编写打球的方法与打篮球的方法代码时,就是在进行方法重写。实现方法重写的条件:两者必须要存在继承关系,而且方法的返回值数据类型,方法名,参数个数,参数类型,参数顺序必须要完全一致。不过呢,子类在重写方法时,访问修饰符的范围可以大于或者等于父类方法的访问修饰符。俗话说:“姜还是老的辣,酒还是陈的香!”不过尼,在方法重写这里,你如果惦记这个就out了! 当实现方法重写后,如果你创建的对象是子类的对象,那么会优先调用子类的方法,如果子类没有改方法,才会执行父类中定义的方法。
   再讲下一个相关的名词“自动转型”。自动转型有两种格式:
                     格式一:
父类  对象名;
对象名 = new 子类名(实参,...);
父类  对象名  = new 子类名(实参,...);

格式二:
第三方类中的方法
public void method(父类 对象名){
//调用的方法必须要在父类中存在
}
创建对象
父类  对象名A  = new 子类名(实参,...);
子类  对象名B  = new 子类名(实参,...);

调用方法
method(对象名A);
method(对象名B);
它的条件也是两者必须有继承关系。可以发现,使用自动转型,我们能实现多态(由方法重载,继承,方法重写,自动转型等技术点的组合),减少重复的代码。只是它也存在缺陷,Java在编译程序时,只会根据对象名的类型,去查找是否存在该方法,如果存在,则通过编译,如果不存在则报错。
  
上一篇: java 下一篇: C++ Set vs Multiset
发表评论
用户名: 匿名