java構造函數的三種類型總結
我們說構造函數能處理參數的問題,但其實也要分三種情況進行討論。目前有三種類型:無參、有參和默認。根據不同的參數情況,需要我們分別進行構造函數的討論。這里重點是無參構造函數的初始化也要分兩種方法進行分析。下面我們就這三種不同的構造函數類型分別為大家進行展示。
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 parametersEmployee(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: ChaitanyaId: 92232 Name: Negan
當類里沒有顯式地定義代碼來實現任何構造函數時,Java編譯器將會在編譯的字節碼(.class文件)里面為這個類插入默認構造函數。由于是在編譯階段插入,因此在源文件(.java)里是不會找到默認構造函數的代碼的。
3.默認構造函數默認構造函數形式上類似無參構造函數(都沒有入參),但是二者并不能劃等號,區別如下:
默認構造函數方法體為空,無參構造函數方法體可以為空也可以不為空;
只要類里顯式的創建了一個構造函數,比如一個無參構造函數,編譯器都不會再為這個類創建默認構造函數了。
到此這篇關于java構造函數的三種類型總結的文章就介紹到這了,更多相關java構造函數的類型內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
