在開發中,經常需要在創建對象的同事明確對象對的屬性值,比如一個person對象創建的時候就應該有name和age 等屬性,那么如何做到在創建對象的同時給對象的屬性值初始化值呢?
這里介紹構造方法
1 構造方法沒有返回值類型, 更沒有返回值,因為他是構建對象的,對象創建完,方法就執行結束
2構造方法名必須和類型保持一致
3 構造方法什么時候運行呢?? 在創建對象的時候自動執行,而且只執行一次
定義示例
public class Person{public person(){System.out.println("我是一個空參構造方法"); } }
運行:
public class test(){public static ovid main(String [] args){Person p = new Person(); } //輸出:我是一個空參構造方法
構造方法是每個類的必須內容? 寫或者不寫都存在
編譯器在編譯的時候會檢測有沒有構造方法 如果有,執行。沒有,自動創建一個空參構造
構造方法的賦值
public class Person{private String name;private int age;public Person(String name,int age){this.name=name;this.age=age;} }
public class Test{public static void main(String[] args){Person p = new Person("張三",18);} }
?
?
this? 在構造方法中的調用
public class Person {private String name;private int age;public Person() {//this()是調用其他的構造方法//this()必須寫在構造方法第一行this("張三", 20);}public Person(String name, int age) {this.name = name;this.age = age;} }public class Test {public static void main(String[] args) {Person p1 = new Person("張三", 18);Person p2 = new Person();} }
//輸出: 張三 18
// 張三 20
this關鍵字給成員變量進行了賦值