面向对象_继承性_抽象类

继承性:

一个类可以继承另外的一个类,使用extends关键字例如:

public class Student extends Person{

}

如果一个类A继承自一个类B,A类称为子类或者叫做派生类。B类叫做父类或者是基类或者叫做超类。

子类可以继承父类中全部的属性以及方法。

注意:java中只允许单继承,不允许多重继承。但是允许多层继承。

即便是子类与父类之间也存在着访问权限的控制,子类中不能随意的访问父类中私有化的成员(属性以及方法)。

子类对象被创建之前,先创建父类的对象。

父类的静态块会优先被执行,然后执行子类的静态块,执行父类的构造块,父类的构造方法,子类的构造块,子类的构造方法。

方法的重载:overload
方法的重写:override

重写发生在子类与父类中,是指子类对父类的方法进行重写,要求子类的方法的方法名与父类方法的方法名相同。参数列表也相同,方法的返回值类型也要一致,但是子类的访问权限不能比父类的访问权限小。

Super关键字:
1.强调是父类的属性或者是方法。

2.可以调用父类的构造方法

注意:如果子类的构造方法没有明确的指定调用父类的哪一个构造方法时,默认的调用父类无参数的构造方法。

当父类没有无参数构造方法的时候,在子类的构造方法中,必须明确指定具体调用父类的哪一个有参数构造方法。

super调用父类构造方法的语句,必须写在子类构造方法的首行。

注意:super不代表父类对象。

final关键字:
1.使用final修饰的变量即为常量,常量的值一旦被指定就不能被更改。

2.使用final修饰的类不能有子类。

3.使用final修饰的方法不能被子类重写。

抽象类:

java中有一种类专门用来给别的类当做父类的。这个类就叫做抽象类。抽象类是使用abstract修饰的类。

抽象方法:

使用abstract修饰的方法被称作抽象方法。

注意:抽象方法不写具体的实现,不写大括号以及大括号中的代码

抽象类的声明以及使用规则:
1.抽象类必须使用abstract进行修饰。

2.如果一个类中包含了至少一个的抽象方法,这个类必须声明为抽象类。

3.如果一个子类(不是抽象类)继承了一个抽象类,那么这个子类必须重写抽象类中全部的抽象方法。
抽象类的语法:
访问权限修饰符 abstract class 类名 【extends 类名】{
    属性
    方法
    抽象方法
}

注意:抽象类不能创建对象

抽象类的具体应用:

模板设计模式

访问权限修饰符 【final】 【static】 【abstract】 返回值类型 方法名称(【参数】){
}

猜你喜欢

转载自www.cnblogs.com/SunMoonSky/p/12370575.html