语法 修饰符:class SubClass extends SuperClass{
//类定义部分
}
定义:继承(inheritance)通过extends关键字实现,其中SuberClass为SuperClass称为父类,基类或超类。修饰符若是public,则该类在整个项目中可见;若无public修饰符,则 该类只在当前包可见,不可使用private和protected修饰类
注:继承是面向对象的三大特点之一,继承是从已有类中派生出新的类,新类能吸收已有类的数据属性和行为,并能扩展新的能力。Object类是所有Java类的祖先。
子类能继承父类哪些?
1.继承public和protected修饰的属性的方法,无论子类和父类是否在同一个包中
2.继承默认权限修饰符(friendly)修饰的属性和方法,但子类和父类必须在同一个包里
3.无法继承private修饰的属性和方法
4.无法继承父类的构造方法(构造方法是类的,子类只能调用父类构造方法)。
重写必须满足要求:
1.重写方法和被重写方法必须具有相同的方法名
2.重写方法和被重写方法必须有相同的参数列表
3.重写方法和返回值类型必须和被重写方法的返回值类型相同或是其子类
4.重写方法不能小与被重写方法的访问权限
super代表对当前对象的直接父类对象的默认引用。在子类中可以通过super关键字来访问父类的成员。
super必须出现在子类中而不是其他位置、
可以访问父类的成员,如父类的属性,方法,构造方法
注意访问权限限制,如无法通过super访问private成员
例:super.name;//访问直接父类的name属性
super.print();//访问直接父类的print()方法
super(name);//访问直接父类的对应构造方法,只能 出现在构造方法中
final类特点
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
抽象类的定义和使用规则如下:
抽象类和抽象方法都要使用 abstract 关键字声明。
如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
抽象类不能实例化,也就是不能使用 new 关键字创建对象。