继承:关键字extends
子类不能访问父类私有的东西
子类继承父类,省去共有代码,子类只需要写自己的特有代码
作用:
继承的出现提高了代码的复用性
继承的出现让类与类之间产生了关系,提供了多态的前提
不要仅为了获取其他类中某个功能而去继承
子类继承了父类,就继承了父类的方法和属性,也可以创建新的数据和方法
子类不是父类的子集,而是对父类的扩展。
子类不能直接访问父类中私有的成员变量和方法。(可以通过getxxx(),setxxx()方法访问)
Java只支持单继承,不支持多继承,一个子类只能有一个父类,一个父类可以派生出多个子类(二叉树)
重写
子类可以根据需要对从父类中继承来的方法改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
重写只能是改的方法体,其他都不能改。
1.重写方法必须和被重写方法具有相同的方法名、参数列表和返回值类型。
2.重写方法不能使用比被重写方法更严格的访问权限
3.重写和被重写的方法必须同时为static的,或同时为非static的
4.子类方法抛出的异常不能大于父类被重写方法的异常
子类重写父类的方法,只能重写方法体的代码
Alt+/会出现重写的方法体
修饰符 类内部 同一个包 子类 在任何地方
private yes
default yes yes
protected yes yes yes
public yes yes yes yes