面向物件的基本特徵--繼承。
阿新 • • 發佈:2021-04-26
1.選用條件
面向物件的基本特徵之一:繼承
繼承:相同的屬性,特徵,方法,一般具有包含關係。我們可以選擇用繼承,接下來我們介紹一下繼承的使用和注意事項。(封裝,多型)
2.繼承的書寫
格式:public class 子類名 extends 父類名 { }
子類的特點:可以有父類的方法,也可以有自己特有的方法。
3.繼承的訪問特點
在子類方法中訪問一個變數:子類區域性, 子類成員,父類成員
super():表示父類物件的引用
this:表示引用本類物件的引用
子類中所有的構造方法預設都會訪問父類中無參的構造方法(自己給出無參構造方法)
子類會繼承父類,可能還會使用父類的資料。所以,子類初始化之前,一定要先完成父類資料的初始化。每一個子類構造方法的第一條語句預設都是:super()。
在子類方法中訪問一個方法:子類成員範,父類成員
4.方法重寫
子類和父類有一樣的方法,可以重寫父類的方法,也可以定義自己特有的方法。為了防止出錯,用@override註釋。私有方法不能被重寫。許可權:public>預設>私有。
5.繼承程式碼演示
//子類
public class Teacher {
public void show() {
System.out.println("show方法被呼叫");
}
}
//父類
public class Student extends Teacher {
public void method () {
System.out.println("method方法被呼叫");
}
}
//測試類
public class Test {
public static void main(String[] args) {
Fu f=new Fu();
f.show();
Zi z=new Zi();
z.method();
z.show();
}
}
結果:
6.重寫程式碼演示
方法重寫的方法名必須一致,然後加入新的方法。用super進行繼承
//子類
public class Phone {
public void call(String name){
System.out.println("給"+name+"打電話");
}
}
//父類
public class NewPhone extends Phone{
@Override
public void call(String name){
System.out.println("開啟視訊功能");
//System.out.println("給"+name+"打電話");
super.call(name);//繼承父類的原有的方法
}
}
//測試類
public class Test {
public static void main(String[] args) {
Phone p=new Phone();
p.call("小名");
System.out.println("============");
NewPhone np=new NewPhone();
np.call("小名");
}
}
7.多層繼承
拓展Java中類只支援單繼承,不支援多繼承。但是可以多層繼承。
例如:class extends A,B,C{} 是錯誤的
正確如下:
class A
class B extends A
class C extends B
這樣C就可以繼承A,B中的方法了