<label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>

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

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

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

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

     }
    }

    運行結果:SubClass:this is a no parameter constructor

    當父類里面定義了幾個構造函數(shù),其中至少有一個不帶參數(shù),子類定義了一個不帶參數(shù)的構造函數(shù),運行的時候,調用不帶參數(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();

     }
    }

     運行結果: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ù),它不知道要調用父類的那個構造函數(shù)。所以要在定義子類構造的第一行加上調用父類的構造函數(shù):super("hhh");根據括號里面的參數(shù)類型、個數(shù)來確定調用父類里面的那個構造函數(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");                                      //非常重要!根據他來調用父類的構造函數(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();

     }
    }

    運行結果:this is parameter constructor1:hhh



    選擇我們,優(yōu)質服務,不容錯過
    1. 優(yōu)秀的網絡資源,強大的網站優(yōu)化技術,穩(wěn)定的網站和速度保證
    2. 15年上海網站建設經驗,優(yōu)秀的技術和設計水平,更放心
    3. 全程省心服務,不必擔心自己不懂網絡,更省心。
    ------------------------------------------------------------
    24小時聯(lián)系電話:021-58370032
    99人妻中文字幕视频在,亚洲无码视频在线免费看,久久国产乱子伦免费精品,日本中文字幕色视频网站
    <label id="2a06w"><tt id="2a06w"></tt></label><label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label><menu id="2a06w"></menu>
  • <dfn id="2a06w"><var id="2a06w"><label id="2a06w"></label></var></dfn>
    <sup id="2a06w"><button id="2a06w"><em id="2a06w"></em></button></sup>
    <dfn id="2a06w"><var id="2a06w"></var></dfn>
    <dfn id="2a06w"></dfn>
  • <dfn id="2a06w"><code id="2a06w"><ins id="2a06w"></ins></code></dfn>
  • <small id="2a06w"><samp id="2a06w"></samp></small>
  • <dfn id="2a06w"><table id="2a06w"><center id="2a06w"></center></table></dfn>
    <label id="2a06w"><tt id="2a06w"><em id="2a06w"></em></tt></label>
    <strike id="2a06w"><form id="2a06w"></form></strike>
    <menu id="2a06w"><tt id="2a06w"></tt></menu>