继承的限制
1.Java继承,不允许多重继承,只允许多层继承。
2.子类在继承父类时,严格来讲会继承父类中的全部操作,但是对于所有的私有操作属于隐式继承,所有的非私有操作属于显式继承。(所以必须使用setter(),getter()方法,间接地进行私有属性的访问。)
3.在子类对象构造前,一定会默认调用父类的构造(无参构造),保证父类的对象先实例化,子类对象后实例化。
方法的覆写
子类定义了与父类完全一样的方法。
父类中的方法名称功能不足时,使用复写。
public > default >private(private定义最严格)
父类 public 子类 只能是 public
父类 default 子类 能是 public 或 default;
父类 private,是私有的,无法被外界看见,所以子类是不能覆写的。
区别 | 重载 | 覆写 |
---|---|---|
英文单词 | Overloading | Override |
发生范围 | 发生在一个类里边 | 发生在继承关系中 |
定义 | 方法名称相同、参数的类型、及个数不同 | 方法名称相同,参数类型相同,参数个数相同,返回值类型相同 |
权限 | 没有权限的限制 | 被覆写的方法不能拥有比父类更为严格的访问控制权限 |
final
final定义的类 不能再有子类
final定义的方法 不能被子类覆写;
final定义常量 不能修改;