继续学习类
·子类与父类
子类是具有父类共有属性的类,通过使用关键字extends继承父类的属性和行为,并定义自身的属性和行为。
object是所有类的祖先。
子类与父类的继承性,主要分为两种情况
①子类与父类在同一包中:除私有外都能继承成员变量和方法。
②子类与父类不在同一包中:不能继承私有与友好权限的成员变量与方法。
·子类与对象
子类不能继承父类的构造方法,但能显式或隐式调用。
·隐藏与重写
只要子类声明的成员变量的名字与父类继承来的相同(类型可不同),那么子类将隐藏父类的成员变量。
这时若要调用被隐藏的成员变量或方法,则可用super关键字调用。例如子类用super作为头语句调用父类构造方法。
子类可以通过重写隐藏继承来的方法。
重写与重载不同。重写的规则是方法类型与父类一样,且名字、参数个数、参数类型完全相同,不能降低访问权限。
而重载是参数的个数或类型不同。
·final关键字
final可以修饰类、成员变量与局部变量。一旦声明则无法改变,如声明类则该类不能继承,将变量声明为常量。
·上转型变量
格式:A a();B b=new B();a=b;
上转型对象可使用隐藏的变量,继承的变量或方法和重写的方法;
对象可调用继承的变量和方法,以及子类新增的方法。
·抽象类abstract
用关键字abstract修饰
abstract类中有abstract方法,但不定全是。接口则必须全是abstract方法。
抽象类中不能用new运算符创建对象。
abstract类可以继承父类的abstract方法