1.继承
定义:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能拓展新的能力
在定义一个类时,如果没有使用extends关键字,那么这个类直接继承object类
继承通过extends关键字来实现
优点:大大缩短开发周期,降低开发费用
2.子类可以从父类中继承
-
继承public和protected修饰的属性和方法
-
继承默认权限修饰符friendly修饰的属性和方法
-
无法继承private修饰的属性和方法
-
无法继承父类的构造方法,但是可以调用
3.重写
重写的目的:父类的继承方法不能满足子类的需求
重写的定义:在子类中可以对从父类继承的方法进行重写,称为方法的重写或覆盖
重写的要求:子类和父类的方法名相同,参数列表相同,返回值类型相同,访问修饰符不能严于父类即 子类的访问修饰符必须大于父类的访问修饰符
在子类中被重写调用父类被重写的方法,可以在子类方法中通过“super.方法名”实现
super.name; //访问直接父类的name属性 super.print(); //访问直接父类的print()方法 super(name); //访问直接父类对应构造方法,只能出现在构造方法中
4.抽象类
用abstract修饰类和方法
抽象类不能实例化
抽象方法只有方发声明,没有方法实现
抽象方法 :public abstract void print();
5.final
final修饰的类不能再被继承
final修饰的方法不能被子类重写
final修饰的变量为常量
5.常见错误
final修饰引用型变量时,变量的值是固定不变的,变量所指向的对象的属性值可以改变
abstract不能和private、static同时修饰一个方法
abstract不能和final同时修饰一个方法和类