继承是为了获得多态的效果作准备(多态是面向对象的灵魂)
Java中使用extends关键字实现继承。
被继承的类:父类fatherclass 、超类superclass、基类Base class
继承类:子类subclasses、衍生类/导出类Derived class
1.只能从一个父类继承(单继承)
2.必须从一个类继承
3, 继承可以多层继承
一个类中两个一模一样的方法是不允许的!
如果子类父类中出现重名的成员方法,这时的访问是一种特殊情况,叫做方法重写 (Override)。
重写的细节:
重写发生的前提: 有子父级的继承关系
1、方法名必须相同
2、参数列表必须相同
3、子类重写父类的方法的时候,方法的访问权限必须大于等于父类的方法的访
问权限否则编译报错。
4、子类重写父类的方法的时候,返回值类型必须是父类方法的返回值类型或该返回值类型的子类。不能返回比父类更大的数据类型:
5、子类重写父类的方法时,不能比父类方法抛出更多的异常。
1、重载(overload):
前提:在同一个类中
特点:
方法名相同,参数列表不同,与其他的无关(访问控制符、返回值类型)
列表不同: 数据类型不同,顺序不同,个数不同
2、重写(override):
前提: 有继承关系
特点:
方法名必须相同、参数列表必须相同。
子类的返回值类型要等于或者是其子类的返回值。
必须放在子类构造方法的第一句
1、创建一个对象,必须对其类及其所有祖先类的构造方法调用且只调用一次
2、构造方法不能重写。