继承、重载、重写

2020-02-22 13:02

重载的条件:

1.必须在同一个类中2.方法名必须相同3.参数列表不能相同。 重写的条件: 1. 在不同的类中

2. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致 3. 子类抛出的异常不能超过父类相应的方法抛出的异常

4. 子类方法的访问级别不能低于父类相应方法的访问级别(public,package,protected, private) 5.方法体不同

super()调用父类构造,super.只能调用父类的实例方法 this()调用该类的其他构造方法,this.调用类的属性,方法 如果父类有有参构造,子类必须定义构造方法

2011-04-12 09:28 java类的继承,重载,重写

继承关键字extends 如public class Person extends Animal ============================================================ super只能用在子类的定义中,而不能在main()函数中调用;

super()作构造器时,若父类以及祖宗类是有参构造函数,则子类以及孙类必须super(参数),而且不能间断,且在子孙类的构造函数的第一行必须是super(参数); 以此继承关系为例:

Animal ----> Person---> Student

实际上在类Student的构造函数中,隐含存在了类Person的构造函数和类Animal的构造函数,而所有的构造函数也够隐含存在了类Object的构造函数

super在子类中可以调用父类的protected 和public的方法和属性,当然如果父子类在同一包(目录)中,super在子类的定义中还能调用父类default的属性

============================================================

方法覆盖的条件:子类中的方法与父类中的方法{方法名,参数,返回值类型均相同,而子类的访问权限要大于父类的访问权限}

方法重载的条件:类中的方法(无论是新建的还是继承来的){方法名相同,但参数不同,就是重载}

其他条件的重名问题一概报错

详见Banana.java Plant.java Tree.java中的showInfo()方法 ============================================================ 属性也有覆盖,而且是绝对的覆盖,只要属性名字,即使数据类型不同,或者权限不同,也会覆盖,很霸道的覆盖;虽然覆盖了,但它还有被覆盖的属性,只是不能直接访问而已,通过super访问或通过相关接口进行访问 详见Banana.java和plant.java

============================================================ public void speak();--------speak

public void speak(int i);---spaek_int

public void speak(int i,int j);---spaek_int_int

实际方法标识符只与方法名和参数类型有关

============================================================


继承、重载、重写.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:化工设计2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: