java建構函式的三種類型總結
阿新 • • 發佈:2021-01-09
我們說建構函式能處理引數的問題,但其實也要分三種情況進行討論。目前有三種類型:無參、有參和預設。根據不同的引數情況,需要我們分別進行建構函式的討論。這裡重點是無參建構函式的初始化也要分兩種方法進行分析。下面我們就這三種不同的建構函式型別分別為大家進行展示。
1.無參建構函式
不帶入參的建構函式叫無參建構函式,對類的成員初始化有兩種方法:
(1)在類成員變數宣告時進行初始化
public class MyClass { private String name = "Jerry"; private int id = 1; public MyClass() { } }
(2)在無參建構函式的方法體裡對類成員變數初始化
public class MyClass { private String name; private int id; public MyClass() { this.name = "Jerry"; this.id = 1; } }
2.有參建構函式
帶入參的建構函式叫有參建構函式。
public class Employee { int empId; String empName; //parameterized constructor with two parameters Employee(int id,String name){ this.empId = id; this.empName = name; } void info(){ System.out.println("Id: "+empId+" Name: "+empName); } public static void main(String args[]){ Employee obj1 = new Employee(10245,"Chaitanya"); Employee obj2 = new Employee(92232,"Negan"); obj1.info(); obj2.info(); } }
輸出:
Id: 10245 Name: Chaitanya Id: 92232 Name: Negan
當類裡沒有顯式地定義程式碼來實現任何建構函式時,Java編譯器將會在編譯的位元組碼(.class檔案)裡面為這個類插入預設建構函式。由於是在編譯階段插入,因此在原始檔(.java)裡是不會找到預設建構函式的程式碼的。
3.預設建構函式
預設建構函式形式上類似無參建構函式(都沒有入參),但是二者並不能劃等號,區別如下:
預設建構函式方法體為空,無參建構函式方法體可以為空也可以不為空;
只要類裡顯式的建立了一個建構函式,比如一個無參建構函式,編譯器都不會再為這個類建立預設構造函數了。
到此這篇關於java建構函式的三種類型總結的文章就介紹到這了,更多相關java建構函式的型別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!