日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

通过java理解linux,Java继承的理解

發布時間:2024/7/5 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过java理解linux,Java继承的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼承:

1)概念

把多個類中相同的成員給提取出來定義到一個獨立的類中。然后讓這多個類和該獨立的類產生一個關系,這多個類就具備了這些內容。這個關系叫繼承。

1.1)定義類時,通過“繼承”一個現有的類,子類可以具有父類中的所有屬性和方法。

2)Java中如何表示繼承呢?格式是什么呢?

A:用關鍵字extends表示

B:格式:

class 子類名 extends 父類名 {}

2.1)案例

public class Animal {

String name;

String color;

public void run(){System.out.println("這只動物正在奔跑");

}

}

package com.sp;

public class Person extends Animal{

public static void main(String[] args) {

Person p = new Person();

p.name="TOM";

p.color="白色" ;

p.run();

}

}

2.2)方法重載

2.2.1)當子類繼承父類時,可以從父類繼承它的屬性和方法。

2.2.2)如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。

2.2.3)當對父類的方法進行重寫時,子類中的方法必須和父類中對應的方法具有相同的方法名稱、輸入參數(包括參數的個數和類型)和返回值。

2.2.4)子類中的覆蓋方法不能使用比父類中被覆蓋方法更嚴格的訪問權限。

package com.sp;

public class Person extends Animal{

//重寫run方法? 重寫方法返回類型、方法名、參數列表? 和父類的這個方法的返回類型一致

public void run(){

System.out.println("這個人正在奔跑吧 ,兄弟");

}

//重寫sing方法

public boolean sing(String name){

System.out.println("這個人正在唱歌");

return true;

}

public static void main(String[] args) {

Person p = new Person();

p.name="TOM";

p.color="白色" ;

p.run();

p.sing("");

}

}

2.3)訪問控制:

在Java中,可以在類、類的屬性以及類的方法前面加上一個修飾符(modifier),來對類進行一些訪問上的控制。

3)繼承的好處:

A:提高了代碼的復用性

B:提高了代碼的維護性

C:讓類與類產生了一個關系,是多態的前提

4)繼承的弊端:

4.1):讓類的耦合性增強。這樣某個類的改變,就會影響其他和該類相關的類。

原則:低耦合,高內聚。

耦合:類與類的關系

4.2):打破了封裝性

5)Java中繼承的特點

5.1):Java中類只支持單繼承

5.2):Java中可以多層(重)繼承(繼承體系)

5.3):java.lang.Object類是所有類的父類

6)繼承的注意事項:

6.1):子類不能繼承父類的私有成員

6.2):子類不能繼承父類的構造方法,但是可以通過super去訪問

6.3):不要為了部分功能而去繼承

7)什么時候使用繼承呢?

7.1):繼承體現的是:is a的關系。

7.2):采用假設法

8)Java繼承中的成員關系

8.1):成員變量

8.1.1):子類的成員變量名稱和父類中的成員變量名稱不一樣

8.1.2):子類的成員變量名稱和父類中的成員變量名稱一樣,這個怎么訪問呢?

類的方法訪問變量的查找順序:

在子類方法的局部范圍找,有就使用。

在子類的成員范圍找,有就使用。

在父類的成員范圍找,有就使用。

找不到,就報錯。

8.2):構造方法

8.2.1):子類的構造方法默認會去訪問父類的無參構造方法

是為了子類訪問父類數據的初始化

8.2.2):父類中如果沒有無參構造方法,怎么辦?

子類通過super去明確調用帶參構造

子類通過this調用本身的其他構造,但是一定會有一個去訪問了父類的構造

讓父類提供無參構造

8.3):成員方法

a:子類的成員方法和父類中的成員方法名稱不一樣,這個太簡單

b:子類的成員方法和父類中的成員方法名稱一樣,這個怎么訪問呢?

通過子類對象訪問一個方法的查找順序:

在子類中找,有就使用

在父類中找,有就使用

找不到,就報錯

9)super關鍵字

9.1)作用

在Java類中使用super來引用父類的(屬性、方法和構造器)

super可用于訪問父類中定義的屬性

super可用于調用父類中定義的成員方法

super可用于在子類構造器中調用父類的構造器

9.2)調用父類構造器

在子類的構造器中一定要調用一次父類的構造器,系統默認調用的是父類無參數的構造器。

如果子類構造器中既未顯式調用父類構造器,而父類中又沒有無參的構造器,則編譯出錯

如果父類沒有無參數的構造器,在子類的構造器中可使用語句super()調用父類相應有參數的構造器

總結

以上是生活随笔為你收集整理的通过java理解linux,Java继承的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。