a毛片免费观看完整_欧美香蕉视频播放二区_免费精品无码毛片视频在线播放_国产 丝袜 无码 精品 在线

將想法與焦點和您一起共享

java學習-構造函數(shù)發(fā)布者:本站     時間:2020-05-06 15:05:11

一直學習java,都沒有把構造函數(shù)弄清楚,通過昨天的學習,現(xiàn)在有了一點點理解,不知道還有什么不知道的,望大家指導指導。

當父類沒有任何構造函數(shù),子類定義了一個不帶參數(shù)的構造函數(shù),這時候在測試類里面創(chuàng)建一個子類的對象時,程序運行時,首先調(diào)用系統(tǒng)默認的父類的構造函數(shù),然后再調(diào)用子類的構造函數(shù)。例子:

public class SuperClass {
 private String name;
 private String birthdate;

public void show() {
  System.out.println("this is a public function" + name + birthdate);

 }

}

public class SubClass extends SuperClass {
 String address;
 
 public SubClass() {
  System.out.println("SubClass:this is a no parameter constructor");
 }

 public void personinformation(String _name, String _birth, String _address) {
  System.out.println("output information" + _name + _birth + _address);

 }

}

public class Test {
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  SubClass absence = new SubClass();

 }
}

運行結(jié)果:SubClass:this is a no parameter constructor

當父類里面定義了幾個構造函數(shù),其中至少有一個不帶參數(shù),子類定義了一個不帶參數(shù)的構造函數(shù),運行的時候,調(diào)用不帶參數(shù)的構造函數(shù),然后再運行子類的構造函數(shù)。

public class SuperClass {
 private String name;
 private String birthdate;

public SuperClass() {
  name = "chen";
  birthdate = "feb";

  System.out.println("SuperClass:this is a no parameter constructor");
 }

 public SuperClass(String chen, String febu) {
  name = chen;
  birthdate = febu;
  System.out.println("this is parameter constructor:" + name + birthdate);
 }

public void show() {
  System.out.println("this is a public function" + name + birthdate);

 }

}

public class SubClass extends SuperClass {
 String address;
 
 public SubClass() {
  System.out.println("SubClass:this is a no parameter constructor");
 }

 public void personinformation(String _name, String _birth, String _address) {
  System.out.println("output information" + _name + _birth + _address);

 }

}

public class Test {
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  SubClass absence = new SubClass();

 }
}

 運行結(jié)果:SuperClass:this is a no parameter constructor
SubClass:this is a no parameter constructor

當父類中只定義帶參數(shù)的構造函數(shù),父類定義的構造函數(shù)和上面的一樣,這樣程序運行就會出現(xiàn)錯誤,編譯不能通過,會出現(xiàn)錯誤提示。因為在創(chuàng)建子類對象時,由于沒有不帶參數(shù)的構造函數(shù),它不知道要調(diào)用父類的那個構造函數(shù)。所以要在定義子類構造的第一行加上調(diào)用父類的構造函數(shù):super("hhh");根據(jù)括號里面的參數(shù)類型、個數(shù)來確定調(diào)用父類里面的那個構造函數(shù)。例子:

public class SuperClass {
 private String name;
 private String birthdate;

public SuperClass(String chen, String febu) {
  name = chen;
  birthdate = febu;
  System.out.println("this is parameter constructor:" + name + birthdate);
 }

 public SuperClass(String chen) {
  name = chen;
  System.out.println("this is parameter constructor1:" + name );
 }
 

public void show() {
  System.out.println("this is a public function" + name + birthdate);

 }

}

public class SubClass extends SuperClass {
 String address;
 
 public SubClass() {

super("hhh");                                      //非常重要!根據(jù)他來調(diào)用父類的構造函數(shù)
  System.out.println("SubClass:this is a no parameter constructor");
 }

 public void personinformation(String _name, String _birth, String _address) {
  System.out.println("output information" + _name + _birth + _address);

 }

}

public class Test {
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  SubClass absence = new SubClass();

 }
}

運行結(jié)果:this is parameter constructor1:hhh



選擇我們,優(yōu)質(zhì)服務,不容錯過
1. 優(yōu)秀的網(wǎng)絡資源,強大的網(wǎng)站優(yōu)化技術,穩(wěn)定的網(wǎng)站和速度保證
2. 15年上海網(wǎng)站建設經(jīng)驗,優(yōu)秀的技術和設計水平,更放心
3. 全程省心服務,不必擔心自己不懂網(wǎng)絡,更省心。
------------------------------------------------------------
24小時聯(lián)系電話:021-58370032
稻城县| 玉溪市| 虹口区| 沽源县| 三亚市| 贞丰县| 娱乐| 临江市| 馆陶县| 峨边| 石门县| 金门县| 肥东县| 永宁县| 靖州| 界首市| 乌兰浩特市| 教育| 常宁市| 邛崃市| 盘锦市| 股票| 洛南县| 疏附县| 扶风县| 章丘市| 株洲市| 白山市| 密山市| 清流县| 长丰县| 冀州市| 望城县| 环江| 姜堰市| 阳山县| 从江县| 江永县| 鄱阳县| 淮阳县| 绥德县|