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 中,建構函式必須使用與其所在類相同的名稱進行呼叫,而方法可以具有任何名稱,並且可以直接使用類引用或物件引用進行呼叫。建構函式是此規則的例外。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP