`
y8820960
  • 浏览: 113658 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

(二)继承、重写、多态

 
阅读更多
1、继承:子类继承父类所有的成员变量和成员方法,但不能继承父类的构造方法。在子类的构造方法中可用super调用父类构造方法。通过继承,子类拥有了基类所有的成员(成员变量和方法)。
注意:java只支持单继承,不允许多继承(可以有多重继承);子类构造方法第一行必须调用父类构造方法。

2、方法重写(可用super.XX()调用被隐藏的方法)
  (1)重写方法的参数列表必须完全与被重写的方法相同,否则不能称为重写,而是重载。
  (2)重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。
  (3)重写的方法所跑出的异常必须和被重写方法的所抛出的异常一致,或是其子类。
  (4)重写方法的返回值和被重写的方法的返回值一样。
  (5)被重写的方法不能为private,否则在其子类中新定义了一个方法,而不是重写。
  (6)静态方法不能被重写为非静态方法。

3、访问修饰符
  (1)public  可以被任何类访问;
  (2)protected  可以被同一个包中的所有类访问,可以被所有子类访问,子类没有在同一个包中也能访问。
  (3)默认  缺省无访问修饰符,只能被当前类的方法访问;可以被同一个包中的所有类访问;
  (4)private 如果子类没有在同一个包中,不能访问;

4、多态:存在有三个条件:要有继承、要有重写、父类引用指向子类对象。
  静态多态:也成编译时多态,即在编译时决定调用的属性与方法,与是否发生继承没有必然联系(如重载);
  动态多态:也称运行时多态,即在运行时确定调用的属性和方法,继承是发动多态的首要前提。
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics