枚舉(enum)與類的靜態成員(static)


 

枚舉(ENUM)與類的靜態成員(static)

 枚舉表示可以計數的一種類型

Gender.java

public enum Gender { male, Female, }

Person.java

public class Person { String name; int age; Gender gender; static String nation; /** * display()顯示方法 * */ void display() { System.out.println(String.format("姓名=%s,年齡=%d,性別=%s,國籍=%s", name, age, gender, Person.nation)); } }

test.java

public class test {
	public static void main(String[] args) { // TODO Auto-generated method stub Person p=new Person(); p.name="Jay Chou"; p.age=30; p.gender=Gender.Female; Person.nation="中國"; p.display(); } }

 解析上述中的代碼,以及涉及到的方法

 static--表示靜態類型,它所表示的類或者成員均屬於類而不是屬於某個對象

例如在Person類中有一nation屬性,定義為static類型,這時在主函數測試類中調用該屬性時

Person.nation="中國";

使用該類去調用,該nation屬性不用static標識時,如果存儲了多個人的對象,都同屬於一個國家,這是就會出現nation這個字段多次出現,占用內存,使用stati表示nation大家共享一份,不會浪費內存

 在display方法中還出現了String.Format方法:表示格式化字符串,該用法為

System.out.println(String.format("姓名=%s,年齡=%d,性別=%s,國籍=%s", name, age, gender, Person.nation));
  1. %s-->輸出字符串類型
  2. %d-->輸出整型類型(十進制)
  3. %x-->輸出整型類型(十六進制)
  4. %b-->輸出布爾類型
  5. %c-->輸出字符類型

 當屬性設置為private時,就需要使用set來進行設置屬性了(在nation這個屬性前添加private)

private static nation; public static void setNation(String nation){ Person.nation=nation; }

主函數調用使用

Person.setNation("中國");

 訪問靜態成員時必須使用靜態方法

 實例成員屬於類中的每個實例

運行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM