java_重写、supere、子类实例化

重写的规定
* ①重写的方法名和形参列表必须都一样
* ②重写的权限修饰符不能小于被重写方法的权限修饰符
* 特殊情况:子类不能重写父类被private修饰的方法
* ③如果父类方法返回值是void,重写后也必须是void
* 如果父类是A类型,重写后必须是A类型或者A类型的子类
* 如果是基本数据类型,重写后也必须一样
* ④重写的异常不能大于父类的异常
super的使用
* 在 子类的方法或者构造器中,我们可以通过super.属性和super.方法来显示显示的调用父类中声明的方法或属性。当子类和父类有同名时,就必须用super
* super调用构造器
* super必须在构造器的首行
* 在类的构造器中,针对于this(形参列表)或super(形参列表)只能二选一
* 在构造器首行,没有显示声明this(形参列表)或super(形参列表),默认调用父类的空参构造器
* 在类的构造器中,至少有一个使用了super(形参列表)调用了父类的构造器
子类实例化
在创建子类对象时,都会直接或间接的调用父类的构造器,直接Objec的空参构造器

问题:
①:为什么super()和this()不能同时在一个构造器中出现?
因为super或者this必须出现在首行
②:为什么只能作为构造器中的第一句出现?
因为无论哪个构造器创建子类对象,需要先保证初始化父类。子类继承父类后,需要继承父类中的所有的属性和方法
posted @ 2021-03-18 10:26  冷森、  阅读(52)  评论(0)    收藏  举报