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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java语言深入:构造方法调用浅谈

發布時間:2024/8/23 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java语言深入:构造方法调用浅谈 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  在學習編程的過程中,我覺得不止要獲得課本的知識,更多的是通過學習技術知識提高解決問題的能力,這樣我們才能走在最前方,更多Java專業知識,廣州瘋狂java培訓為你講解;

  先初始化父類的靜態代碼--->初始化子類的靜態代碼-->創建實例時,如果不創建實例,則后面的不執行)初始化父類的非靜態代碼--->初始化父類構造函數--->初始化子類非靜態代碼--->初始化子類構造函數子類繼承父類會先初始化父類,調用父類的構造函數,子類的構造方法的第一條語句就是調用父類的沒有參數的構造方法,如果你沒有寫出這條語句java虛擬機就會默認的調用,如果你顯示的寫了這條語句,就一定要寫在構造方法中的第一條語句,不然會報錯原理簡述:只有在構造方法中調用了父類的構造方法才能繼承父類的相關屬性和方法,要不然

  子類從哪里繼承父類的屬性和方法,在實例化子類的時候又沒有和父類有任何關系。子類的構造函數默認調用和這個構造函數參數一致的父類構造函數,除非在此子類構造函數的第一行顯式調用父類的某個構造函數。

  類Example1

  class father{

  int x=0,y=0;

  father(){

  System.out.println("now is in father's constructor");

  }

  father(int x,int y){

  this.x=x;

  this.y=y;

  }

  public void print(){

  System.out.println("x="+x+";y="+y);

  }

  }

  class son extends father{

  son(){

  System.out.println("now is in son's constructor");

  }

  son(int x,int y){

  super(x,y);//改變x,y,的值,若無super(x,y),則默認調用father()

  }

  public void print(){

  super.print();

  System.out.println("my name is son!");

  }

  }

  public class Example1 {

  public static void main (String[] args){

  son s=new son();//實例化構造的時候從父類開始調用

  s.print();//此處不是構造,是調用

  son f=new son(10,20);

  f.print();

  }

  }

  運行結果::

  now is in father's constructor

  now is in son's constructor

  x=0;y=0

  my name is son!

  x=10;y=20

  my name is son!

  類Example2:

  class father{

  int x=0,y=0;

  father(){

  System.out.println("now is in father's constructor");

  }

  father(int x,int y){

  this.x=x;

  this.y=y;

  }

  public void print(){

  System.out.println("x="+x+";y="+y);

  }

  }

  class son extends father{

  son(){

  System.out.println("now is in son's constructor");

  }

  son(int x,int y){

  //改變x,y,的值

  System.out.println("s213");

  }

  public void print(){

  //引用父類的print函數

  System.out.println("my name is son!");

  }

  }

  public class Example2 {

  public static void main (String[] args){

  son s=new son();//實例化構造的時候從父類開始調用

  s.print();//此處不是構造,是調用, oh,yeah!

  son f=new son(10,20);//先調用父類的father(){System.out.println("now is in }

  //而不是father(int x,int y){this.x=x;this.y=y;}

  f.print();

  }

  }

  運行結果

  now is in father's constructor

  now is in son's constructor

  my name is son!

  now is in father's constructor

  s213

  對比這兩個類的注釋和結果相信你就會明白了.

  瘋狂Java培訓專注軟件開發培訓,提升學員就業能力,重點提升實踐動手能力。技術知識沉淀深厚的老師,讓你感受Java的魅力,激發你對于編程的熱愛,讓你在半年的時間內掌握8-10萬的代碼量,掌握Java核心技術,成為真正的技術高手;通過大量全真企業項目瘋狂訓練,迅速積累項目經驗。讓你成為技能型的現代化高端人才,迅速獲得高薪就業!時間不等人,趕緊聯系我們吧!瘋狂java培訓中心地址:廣州天河區車陂灃宏大廈3樓。

?

轉載于:https://www.cnblogs.com/gojava/p/3325893.html

總結

以上是生活随笔為你收集整理的Java语言深入:构造方法调用浅谈的全部內容,希望文章能夠幫你解決所遇到的問題。

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