Java 中建構函式和方法的區別


類是 Java 的基本構建塊。它是一個可擴充套件的可程式設計模板,它決定了專案的形式和特徵。可以說,是 Java 等面向物件程式語言的最基本元件。每個將透過 Java 應用程式執行的想法都必須首先封裝在類中。在面向物件程式設計中,基本構建塊稱為物件

變數方法是 Java 類的構建塊。例項變數用於指代在類中宣告的變數。類的資料可以使用方式由其方法控制,方法是程式碼行的集合。它更類似於子程式,因為它處理資料並返回值。建構函式非常類似於方法,主要區別在於每當建立物件例項時都會呼叫建構函式。

什麼是建構函式?

建構函式負責初始化物件,儘管它們不產生任何返回型別。有些人認為建構函式的名稱應該與類的名稱相同。

可以過載建構函式,但無法繞過它。此外,它不能是具體的、抽象的或實際的。

Java 程式語言中使用了三種不同的建構函式。

  • 無參建構函式 - 已斷言 Java 建構函式可能具有引數,也可能沒有任何引數。

  • 帶參建構函式 - 可以接受一個或多個引數的 Java 建構函式,稱為其正式名稱,Java 帶參建構函式(帶引數的建構函式)。

  • 預設建構函式 - 當沒有人建立建構函式時,Java 編譯器會在程式執行期間建立一個建構函式。因此,它被稱為預設建構函式。

Java 中的建構函式示例

請看以下示例:

// Java Program to illustrate constructor
import java.io.*;
class Const_Test {
   int num;
   String name;

   // This would be invoked while an object of that class created.
   Const_Test (){
      System.out.println("Constructor is being called in the program");
   }
}
public class Temp {
   public static void main(String[] args){

      // this would invoke default constructor.
      Const_Test Const_Test1 = new Const_Test();

      // Default constructor provides
      // the default values to the object like 0, null
      System.out.println(Const_Test1.name);
      System.out.println(Const_Test1.num);
   }
}

輸出

執行時,它將產生以下輸出

Constructor is being called in the program
null
0


什麼是方法?

OOP 中的方法執行一組有限的責任和職責。方法的名稱不能與類的建構函式相同。此外,方法具有返回型別(包括void)。通常認為方法應該始終是顯式的(帶參建構函式)。

與建構函式相反,如果方法尚未手動構建,Java 編譯器不會提供任何預設方法。它們的繼承和覆蓋能力是非靜態方法的特徵。

可以使用任何物件(對於非靜態方法)、類引用(對於靜態方法)或方法名稱來呼叫它。此外,它們採用各種引數值。

Java 中的方法示例

請看以下 Java 程式

import java.io.*;
class Adding_two_Nums {
   int sum = 0;
   public int addTwoInt(int a, int b){
      // Adding two integer value.
      sum = a + b;

      // Returning summation of two values.
      return sum;
   }
}
public class Add_Test {
   public static void main(String[] args){

      // Creating an instance of Addition class
      Adding_two_Nums add = new Adding_two_Nums();

      // Calling addTwoInt() method to add two integers
      // using the instance created in the above step.
      int s = add.addTwoInt(8, 2);
      System.out.println("Sum of two "+ "integer values: "+ s);
   }
}

輸出

執行時,它將產生以下輸出

Sum of two integer values: 10

建構函式和方法的區別

下表重點介紹了建構函式和方法之間的主要區別 -

比較依據
建構函式
方法
呼叫
系統隱式呼叫它。
它在程式執行期間被呼叫。
繼承
子類無法繼承它。
任何可以被子類繼承的東西。
用途
它用於初始化物件的過程。
它用於演示物件的操作。
返回型別
它沒有關聯的返回型別。
它配備了一個返回型別。
名稱
普遍誤解是建構函式的名稱不必與類的名稱匹配。
普遍誤解是方法的名稱和類不能相同。

結論

方法是一組說明如何使用類的資料的指令,它們由一行或多行程式碼組成。方法類似於子程式,因為它處理資料並返回值。可以在程式主體內的任何位置使用方法名稱來呼叫其執行。

建構函式非常類似於方法,主要區別在於每當建立物件例項時都會呼叫建構函式。與方法相反,呼叫建構函式是為了建立和初始化尚未建立的物件。在 Java 中,建構函式必須使用與其所在類相同的名稱進行呼叫,而方法可以具有任何名稱,並且可以直接使用類引用或物件引用進行呼叫。建構函式是此規則的例外。

更新於:2022-07-28

12K+ 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.