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
什麼是方法?
面向物件程式設計中的方法執行有限的一組責任和任務。方法不能與類的建構函式同名。此外,方法具有返回型別(包括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中,建構函式必須與它們所在的類的名稱相同,而方法可以具有任何名稱,並且可以直接使用類引用或物件引用來呼叫。建構函式是此規則的例外。