【继承的概念】:
在面向对象中,继承是继承实体的类,也就是子类是拥有父类的成员。
java只支持单重继承,不支持多重继承,即一个类只能有一个父类。
【子类的设计】:
用关键字extends来指明。
[修饰符] class 子类名 extends 父类名
修饰符:可选为public,abstract,或者final
【继承的使用原则】:
1、子类可以继承父类所有的public和protected的成员变量和成员方法,但是不能继承private的。
2、子类可以继承同一包中的由默认修饰符修饰的成员变量和成员方法。
3、如果子类声明了一个和父类的成员变量同名的成员变量,则子类不能继承父类的这个成员变量, 此时称子类的成员变量隐藏了父类的成员变量。
4、如果子类声明了一个与父类的成员方法同名的成员方法,则子类不能继承父类的这个
成员方法,此时称子类的成员方法覆盖了父类的成员方法。
【使用super关键字】:
子类可以继承父类的非私有成员变量和成员方法,但是,如果子类中声明的成员变量或者成员方法和父类的同名,那么父类的将会被隐藏。如果子类中声明的成员方法和父类的 成员方法同名,并且参数个数、类型顺序也相同,那么称子类的成员方法覆盖了父类的成员方法,这时,如果想在子类中访问父类中被子类隐藏的成员变量或者方法,就可以使用super关键字。
【super关键字的用途】:
1、调用父类的构造方法。 子类可以调用父类的构造方法,但是必须在子类的构造方法中使用super关键字来调用,格式如下:
super([参数列表])
如果父类的构造方法中有参数,那么super中参数列表是必须有的,用于指定父类方法的入口参数。
2、操作被隐藏的成员变量或者被覆盖的成员方法
如果想在子类中操作父类中被隐藏的成员变量和被覆盖的成员方法, 就可以使用super关键字
格式为:
super.成员变量名;
super.成员方法([参数列表])
【子类的继承】:
子类中的一部分成员是子类自己声明创建的,另外一部分时通过继承父类得来的。Java中,Object类是所有类的祖先类,也就是说任何类都继承于Object类。除了Object类以外的每个类,有且只有一个父类,一个类可以有零个或多个子类。