一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java 無參數構造函數的應用

Java 無參數構造函數的應用

2021-04-22 10:50文戲那瞥 Java教程

本篇文章主要介紹了Java 無參數構造函數的應用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

創建類時指定了有參數構造函數后,系統默認不會創建無參數構造函數,需要自己手動創建。

創建子類的對象實例時,默認會先調用父類的無參數的構造函數(默認構造函數)。

若父類未定義無參數構造函數,則在編譯階段報錯。

若子類指定了父類的有參構造函數,則可以通過編譯和運行。

子類聲明super(id, city)顯示調用父類有參構造函數

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package cn.lw.testpkg;
/**
 * @author wanglei 2018年4月18日
 */
 
class predessor {
  private int id;
  private string city;
  
  public predessor(int id, string city) {
    this.id = id;
    this.city = city;
  }
 
  @override
  public string tostring() {
    return "predessor [id=" + id + ", city=" + city + "]";
  }
}
 
class successor extends predessor {
  private string name;
  private string sex;
  
  public successor(string name, string sex, int id, string city) {
    super(id, city);
    this.name = name;
    this.sex = sex;
  }
 
  @override
  public string tostring() {
    return "successor [name=" + name + ", sex=" + sex + "]";
  }
}
 
public class callconstructortest {
 
  public static void main(string[] args) {
    successor s2 = new successor("a", "male", 1, "hz");
    system.out.println(s2);
  }
 
}

輸出

successor [name=a, sex=male]

父類未定義無參數構造函數,子類不聲明super(id, city)

?
1
2
3
4
public successor(string name, string sex) {
  this.name = name;
  this.sex = sex;
}

編譯報錯

implicit super constructor predessor() is undefined. must explicitly invoke another constructor

父類顯示定義無參數構造函數,方法調用的傳遞性

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package cn.lw.testpkg;
/**
 * @author wanglei 2018年4月18日
 */
 
class predessor {
  private int id;
  private string city;
  
  public predessor() {
    system.out.println("調用了 predessor 無參的構造函數");
  }
 
  public predessor(int id, string city) {
    this.id = id;
    this.city = city;
  }
 
  @override
  public string tostring() {
    return "predessor [id=" + id + ", city=" + city + "]";
  }
}
 
class successor extends predessor {
  private string name;
  private string sex;
  
  public successor() {
    system.out.println("調用了 successor 無參的構造函數");
  }
 
  public successor(string name, string sex) {
    this.name = name;
    this.sex = sex;
  }
 
  @override
  public string tostring() {
    return "successor [name=" + name + ", sex=" + sex + "]";
  }
}
 
public class callconstructortest {
 
  public static void main(string[] args) {
    successor s = new successor();
    system.out.println(s);
    system.out.println("--------------");
    successor s2 = new successor("a", "male");
    system.out.println(s2);
  }
 
}

輸出

調用了 predessor 無參的構造函數
調用了 successor 無參的構造函數
successor [name=null, sex=null]
--------------
調用了 predessor 無參的構造函數
successor [name=a, sex=male]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://segmentfault.com/a/1190000014449811

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高清不卡日本v在线二区 | 欧美日韩亚洲另类人人澡 | 国产精品久久久久久影视 | 色综合视频在线 | 4438全国最大成人网视频 | 国产成人精品一区 | 亚洲AV久久无码精品九号软件 | 逼里逼里香 | 国产99在线观看 | 久久精品视在线观看2 | 日本特级大片 | 四虎音影 | 高清视频大片免费观看 | 色怡红院| 校园肉文高h| 国产精品理论片在线观看 | 2019理论韩国理论中文 | 91精品综合国产在线观看 | 91高清国产经典在线观看 | 天天干夜夜添 | 亚洲视频在线免费 | 欧美在线视频免费播放 | 好大好深受不了了快进来 | 色在线免费 | 韩国一大片a毛片女同 | 91亚洲精品第一综合不卡播放 | 99在线免费视频 | 精品国产在天天线在线麻豆 | 无人知晓小说姜璟免费阅读 | 182免费在线观看 | 亚洲欧美视频在线播放 | 女同69式互添在线观看免费 | 亚洲欧美日韩国产精品影院 | 无码天堂亚洲国产AV久久 | 欧美透逼视频 | 人体做爰aaaa免费 | 韩国美女vip内部2020 | 国产伦码精品一区二区 | 国产伦精品一区二区 | 小舞同人18av黄漫网站 | 精品国产精品人妻久久无码五月天 |