構造方法概述和做用java
給對象的數據(屬性)進行初始化c++
構造方法格式特色this
方法名與類名相同(大小也要與類名一致)對象
沒有返回值類型,連void多沒有blog
沒有具體的返回值returnget
public class Demo { public static void main(String[] args) { Person p = new Person();//在一建立對象的時候,系統就幫咱們調用了構造方法 p.Person();//構造方法不能用對象調用 } } class Person{ private String name; private int age; public Person(){ System.out.println("Hello World"); return; } }
構造方法的重載class
和方法名相同,與無返回值類型無關(構造方法沒有返回值),只看參數列表變量
若是咱們沒有給出構造方法,系統將自動提供一個無參構造方法方法
若是咱們給出了構造方法,系統將再也不提供默認的無參構造方法數據
注意:這個時候,若是咱們還想使用無參構造方法,就必須本身給出。建議永遠本身給出無參構造方法
給成員變量賦值的兩種方式
setXXX()方法
getXXX()方法
public class Demo { public static void main(String[] args) { Person p1 = new Person("hellsino",20); System.out.println(p1.getName()+"..."+p1.getAge()); Person p2 = new Person(); p2.setName("java"); p2.setAge(1995); System.out.println(p2.getName()+"..."+p2.getAge()); } } class Person{ private String name; private int age; public Person(){ System.out.println("空參的構造"); } public Person(String name,int age){ this.name = name; this.age = age; System.out.println("有參的構造"); } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } }
成員賦值的區別
public class Demo { public static void main(String[] args) { Person p1 = new Person("hellsino",20); //p1 = new Person("xxx",22);這種方式將原對象變成了垃圾,因此hellsino不存在 System.out.println(p1.getName()+"..."+p1.getAge()); Person p2 = new Person(); p2.setName("java"); p2.setAge(1995); //p2.setName("c++");這種方式纔是正確的更名 System.out.println(p2.getName()+"..."+p2.getAge()); } }
構造方法規範寫法
setXXX()
getXXX()
show()
public class Demo { public static void main(String[] args) { Person p1 = new Person("hellsino",20); p1.show(); } } class Person{ private String name; private int age; public Person(){ System.out.println("空參的構造"); } public Person(String name,int age){ this.name = name; this.age = age; System.out.println("有參的構造"); } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } public void show(){ System.out.println("個人姓名是:" + name + ",個人年齡是:" + age); } }