jvm建立Java對象時候須要調用構造器,默認是不帶參數的.在構造器中,你能夠讓jvm幫你初始化一些參數或者執行一系列的動做. 它是對象建立中執行的函數,及第一個被執行的方法html
特色:
做用:給對象進行初始化。java
class Person{ private String name ; private int age ; //定義一個Person類的構造函數 //構造函數,並且是空參數的 Person(){ System.out.println("person run"); } public void speak(){ System.out.println(name + ":" + age); } } class ConsDemo{ public static void main(String[] args){ //構造函數:構建創造對象時調用的函數 //做用:能夠給對象進行初始化 Person p = new Person(); p.speak(); } }運行結果:
person run
null:0jvm
P.S.
一、通常函數和構造函數什麼區別呢?
構造函數:對象建立時,就會調用與之對應的構造函數,對對象進行初始化。
通常函數:對象建立後,須要函數功能時才調用。
構造函數:對象建立時,會調用而且只調用一次。
通常函數:對象建立後,能夠被調用屢次。
二、建立對象都必需要經過構造函數初始化。
一個類中若是沒有定義過構造函數,那麼該類中會有一個默認的空參數構造函數。
若是在類中定義了指定的構造函數,那麼類中的默認構造函數就沒有了。
三、多個構造函數是以重載的形式存在的。函數
class Person_1{ private String name ; private int age ; Person_1(){ name = "baby" ; age = 1; System.out.println("person run"); } //若是有的孩子一出生就有名字 Person_1(String n){//有參構造器 name = n; } //若是有的孩子一出生就有名字和年齡 Person_1(String n, int a){//有參構造器 name = n; age = a; } public void speak(){ System.out.println(name + ":" + age); } } class ConsDemo_1{ public static void main(String[] args){ Person_1 p1 = new Person_1();//建立對象Person_1的同時,已經調用了無參構造函數了。 p1.speak(); Person_1 p2 = new Person_1("家儀" ); p2.speak(); Person_1 p3 = new Person_1("張家" ,10); p3.speak(); } }運行結果:
person run
baby:1
家儀:0
張家:10
spa
JAVA的類的這些方面體現面向對象的封裝性總結一下:htm
構造器:java裏面的構造器是一個與類同名的特殊的方法,稱爲構造方法,在建立類的對象時使用,用於對象初始化。
設置器:是一個針對類的某個私有屬性成員屬性的有特殊命名要求的方法,發XXX屬性,應爲setXXX。主要提供對私有屬性的改變,提供一個設置變量值的途徑。
訪問器:是一個針對類的某個私有屬性成員屬性的有特殊命名要求的方法,如對XXX屬性,應爲getXXX。主要提供對私有屬性的值,提供一個得到變量值的途徑。對象