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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java super实例_java Super 用法详解及实例代码

發布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java super实例_java Super 用法详解及实例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java Super 用法詳解及實例代碼

發布于 2021-1-8|

復制鏈接

摘記: java? Super 用法詳解?1)有人寫了個很好的初始化屬性的構造函數,而你僅僅想要在其中添加另一些自己新建屬性的初始化,這樣在一個構造函數中調用另外一個構造函數,可以避免重復的代碼量,減少工作量;2)在一個構造函數中調用另外一個構造函數的時候應該用的是同一塊內存空間,在默認的構造函數中 ..

java? Super 用法詳解?1)有人寫了個很好的初始化屬性的構造函數,而你僅僅想要在其中添加另一些自己新建屬性的初始化,這樣在一個構造函數中調用另外一個構造函數,可以避免重復的代碼量,減少工作量;2)在一個構造函數中調用另外一個構造函數的時候應該用的是同一塊內存空間,在默認的構造函數中先初始化變量,調用另一個的時候覆寫已經初始化的變量的值;3)整個調用的過程和遞歸調用函數有點類似,不斷充氣球,直到整個氣球膨脹起來,不斷的深層遞進,遇到停止標記,逐層的跳出來。???? 寫了段代碼,解釋我上面的敘述:

```java

class JavanTiger {

int age; // 年齡

int hight; // 身體高度

public JavanTiger() {

print();

this.age=2; //這里初始化 age 的值 ,但遞歸返回的時候,這個值會被覆寫

}

public JavanTiger(int age) {

this(); // 調用自己的第一個構造函數,下面的兩個語句數不執行的

this.age = age;

print();

}

public JavanTiger(int age, int hight) {

this(age); // 調用自己第二個構造函數 ,下面的兩個語句數不執行的

this.hight = hight;

print();

}

public void print() { //打印函數

System.out.println("I'am a " + age + "歲 " + hight + "尺高 tiger!");

}

public static void main(String[] args) {

new JavanTiger(3,3);

}

}

//output

//I'am a 0歲 0尺高 tiger!

//I'am a 3歲 0尺高 tiger!

//I'am a 3歲 3尺高 tiger!

```

個人理解就是這樣了,可能里面還有問題,比如構造函數遞歸調用和程序函數遞歸調用的機制是否似乎相同的?構造函數同對象一起產生,也就是同時會分配內存空間出來,那門這樣的遞歸調用會不會打亂分配內存的順序?希望看到的大牛們拍板,給個最好的解釋。???? 今天要總結的是 super 這個關鍵字的使用,super 在構造函數中出現的時候一般是當前這個類繼承了其他的類,super 的出現就是為了調用父類的構造函數,貼段代碼先

```java

class Tiger {

int age; // 年齡

int hight; // 身體高度

public Tiger() {

print();

}

public void print() {

System.out.println("I'am a " + age + "歲 " + hight + "尺高 tiger!");

}

}

public class JavanTiger extends Tiger {

public JavanTiger() {

super(); // 調用父類無參數的構造函數

}

public static void main(String[] args) {

new JavanTiger();

}

}

```

其實在類JavanTiger 中的構造函數中的 super()可以不寫,JAVA會默認調用父類的無參數的構造函數,但如果父類沒有定義無參數的構造函數,沒有語法錯誤,程序會自動退出,沒有任何打印語句,這時候你需要手動調用其他父類的構造函數,貼段代碼:

```java

class Tiger {

int age; // 年齡

int hight; // 身體高度

public Tiger(int age) {

this.age = age;

print();

}

public void print() {

System.out.println("I'am a " + age + "歲 " + hight + "尺高 tiger!");

}

}

public class JavanTiger extends Tiger {

public JavanTiger() {

super(1); // 調用父類有參數的構造函數

}

public static void main(String[] args) {

new JavanTiger();

}

}

```

總結

以上是生活随笔為你收集整理的java super实例_java Super 用法详解及实例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

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