首頁 > Java > java教程 > 主體

在Java中,預設建構函式和帶參數的建構函式有什麼差別?

WBOY
發布: 2023-09-22 12:37:02
轉載
780 人瀏覽過

在Java中,預設建構函式和帶參數的建構函式有什麼差別?

預設建構子

  • 預設建構子是一個0參數建構子,其中包含對超類別建構函數的無參數呼叫.
  • 為新建立的物件指派預設值是預設建構子的主要職責。
  • 只有當程式沒有寫任何建構子時,編譯器才會在程式碼中寫入預設建構子。
  • 預設建構子的存取修飾符始終與類別修飾符相同,但此規則僅適用於“public”“default”

#編譯器何時新增預設建構函式

  • 編譯器僅在程式設計師新增預設建構函式時才在程式碼中加入預設建構函式在程式碼中不編寫建構函式。
  • 如果程式設計師在程式碼中編寫任何建構函數,則編譯器不會新增任何建構函數。
  • 每個預設建構函數都是 0 參數建構函數,但每個 0 參數建構函數都不是預設建構子。

參數化建構子

  • 參數化建構子是具有特定的建構子要傳遞的參數數量。
  • 參數化建構函式的目的是將使用者想要的特定值指派給不同物件的實例變數。
  • 參數化建構子由程式設計師明確編寫。
  • 預設建構子的存取修飾符始終與類別修飾符相同,但此規則僅適用於“public”“預設”修飾符。

範例

即時示範

public class Student {
   int roll_no;
   String stu_name;
   Student(int i, String n) { // Parameterized constructor
      roll_no = i;
      stu_name = n;
   }
   void display() {
      System.out.println(roll_no+" "+stu_name);
   }
   public static void main(String args[]) {
      Student s1 = new Student(1,"Adithya");
      Student s2 = new Student(2,"Jai");
      s1.display();
      s2.display();
   }
}
登入後複製

在上面的程式中,程式設計師定義了一個帶有 2 個參數的參數化建構子。現在編譯器沒有在程式碼中加入預設建構函數,程式設計師也沒有寫任何 0 參數建構函數。

輸出

1 Adithya
2 Jai
登入後複製
##

以上是在Java中,預設建構函式和帶參數的建構函式有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!