Java:構造一個Person類,運用方法過載
阿新 • • 發佈:2018-12-20
public class Person{ String name; //字串 名字 int age; //int 年齡 private String secret="..."; //字串 祕密 int height; // int 體重 //構造方法1 public Person(){} //可以建立一個空的物件,不提供引數 public Person(String name,int age, String secret){ this.name=name; //現在的=你賦值的 this.age=age; this.secret=secret; } //構造方法1的過載 ,為了創建出不同屬性資訊的物件 public Person(String name,int age,int height){ this.name=name; this.age=age; this.height=height; } //構造方法1的過載 四個屬性,有三個屬性之前已經構造了 public Person(String name,int age, String secret,int height){ this(name,age,height); //在上面已經建立過可以寫為this() this.secret=secret; } //構造方達2 //可以外部訪問的屬性:get+屬性名稱 String getSecret(){ return secret; } String getName(){ return name; } int getAge(){ return age; } //可以外部修改定義的屬性 set+屬性名稱 void setName(String name){ this.name=name; } void setAge(int age){ this.age=age; } void setSecret(String secret){ this.secret=secret; } String personInFo(){ return "這個人是"+name+",年齡是"+age+"歲,她的祕密是:"+secret; } //建立一個具體物件 public static void main(String[] args){ Person person1=new Person(); person1.name="張三"; person1.age=20; person1.secret="沒有祕密"; Person person2=new Person("李四",19,"也沒有祕密"); Person person3=new Person("王五",18,"同樣沒有祕密"); //person4的值由person3的地址對應的內容給定,修改person4,相當於修改了person3的內容 //引用傳遞,在同一塊地址 Person person4=person3; person4.name="冪"; Person person5=new Person("迪麗",18,50); //person變數引用指向空 //堆上的person3物件已經沒有變數使用它 //但是person3依舊存在,還是佔用空間,不做記憶體回收,由虛擬機器自動回收。 //person3=null; //person4=null; System.out.println(person1.personInFo()); System.out.println(person2.personInFo()); System.out.println("我的名字是:"+person3.name+",曾經我只有"+person3.age+"歲。"); System.out.println(person4.personInFo()); System.out.println(person5.personInFo()); //建立一個匿名物件 new Person("匿名物件",18,"使用一次就丟棄"); System.out.println(new Person("匿名物件",18,"使用一次就丟棄").personInFo()); } }