继承:
在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。
接口是比抽象类更抽象的一种类。接口和子类的关系叫实现!接口和抽象类相比的话,可以理解为:抽象类是一个父类,是一个子类必须具备的东西,而接口是特殊的,不是每一个子类都需要具备的东西;一个子类可以有多个接口但是只能有个抽象类。接口由于其定义格式的,其内定义的都是静态常量,都是不能更改的。
继承的格式
格式:
class 子类 extends 父类 {}
继承的好处及注意事项:
①、继承的出现提高了代码的复用性,提高软件开发效率。
②、继承的出现让类与类之间产生了关系,提供了多态的前提。
③、在JAVA中,类只支持单继承(只能一个亲爹),一个父类可以多个子类(多个儿子);
继承-子父类中成员变量的特点:
继承中子父类有同名变量时,如果子类直接有用自己的,没有就用父类的。
(就近原则)
在子类中,访问父类中的成员变量格式:
super.父类中的成员变量
继承-子父类中成员方法特点-重写&应用:
方法重写:
子类中出现与父类一模一样(方法名、返回值类型、参数列表都相同)的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。
(就近原则)
在子类中,访问父类中的成员方法格式:
super.父类中的成员方法();
子类方法覆盖父类方法,必须要保证权限大于等于父类权限。
(public > protected > default > private)
抽象类:
抽象方法定义的格式:
public abstract 返回值类型 方法名(参数);
抽象类定义的格式:
abstract class 类名 {
}
1.抽象类不能创建对象。
2.普通类一定重写父类父类抽象方法;
3.抽象一定父类;
4.抽象类和抽象方法都是需要abstract 修饰的;
5.抽象关键字abstract 不可以和 private 共存:
(private:私有的方法子类是无法继承到的,也不存在覆盖)
6.因为抽象类是子类的父类,是将其共同的方法抽取出来的。所以只有覆盖了抽象类中的所有的抽象方法后,子类才能创建对象。否则子类还是个抽象类。