最近学习javaweb突然发现很多java的知识掌握的不牢,所以又回去复习了一下java的基础知识,感觉收获颇深,对继承和重写的认识加深的很多
继承的概念
继承中的特点
1.成员变量的特点
继承中的成员变量访问特点:就近原则。
现在局部位置找,本类成员位置找,父类成员位置找,逐级往上。
如果出现了重名的成员变量
2.成员方法的访问特点
方法的重写
当父类的方法不能满足子类现在的需求时,需要进行方法重写
书写格式
在继承体系中,子类出现了和父类中一模一样的方法声明,我们称子类这个方法是重写的方法。
@Override重写注解
@Override是放在重写后的方法上,检验子类重写时语法是否正确。
加上注解后如果有红色波浪线,表示语法错误
建议重写方法都加@Override注解,代码安全,优雅!
注意事项和要求
重写方法的名称,形参列表必须与父类中的一致
子类重写父类方法时,访问权限子类必须大于等于父类
子类重写父类方法时,返回值类型子类必须小于等于父类
建议:重写的方法尽量和父类保持一致。
私有方法不能被重写
子类不能重写父类的静态方法,如果重写会报错。
继承中:构造方法的访问特点
特点
父类中的构造方法不会被子类继承
子类中所有的构造方法默认先访问父类中的无参构造,再执行自己
为什么?
子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完全初始化,子类将无法使用父类的数据
子类初始化之前,一定要调用父类构造方法先完成父类数据空间的初始化。
怎么调用父类的构造方法
子类构造方法的第一行语句默认都是:super(),不写也存在,且必须在第一行
如果想调用父类有参构造,必须手写super进行调用
网友评论