Java中的靜態和枚舉


一、靜態成員

對靜態成員最簡單的解釋,靜態成員屬於整個類而不屬於某個對象,所以又叫做類變量。一個類不管創建多少個實例對象,靜態變量在內存中有且只有一個(調用方法用類名調用)。

通常的非靜態變量稱為實例變量,只有實例化后才可使用。

二、靜態方法

類似於靜態變量,在類裝載時被載入內存,不會自動銷毀,不用實例化,且靜態方法不能被重寫。

靜態方法只能訪問類中的靜態變量和靜態方法不能訪問實例變量和實例方法(因為靜態方法在java虛擬機中在對象之前被加載,如果靜態方法要訪問實例變量或者方法可能其還沒被創建),如果要想使用實例變量和方法可在靜態方法中直接創建其實例化的對象。

三、枚舉

enum  表示可以計數的一種類型

列舉一個遍歷枚舉類的方法:

package None5; public enum Day { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday; } package None5; public class Ergodic { public static void main(String[] args) { for(Day d:Day.values()) { System.err.println(d.toString()); } } }

 

 

四、一個綜合靜態和枚舉的例子

package None4; public enum personGender { Male, Female; }
package None4; public class Person { private String name; private int age; private personGender gender; //靜態國籍變量 private static String nation; //set方法 public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public void setGender(personGender gender) { this.gender = gender; } public static void setNation(String nation) { Person.nation=nation; } //get方法 public String getName() { return name; } public int getAge() { return age; } public personGender getGender() { return gender; } //show方法 public static void show() { Person person = new Person(); person.setName("lemon"); person.setAge(20); person.setGender(personGender.Male); System.err.println(String.format("姓名=%s,性別=%s,年齡=%d,國籍=%s", person.name,person.gender,person.age,nation)); } }
package None4; public class client { public static void main(String[] args) { //靜態成員屬於整個類而不是某個對象,所以這里應該用Person調用 Person.setNation("CHINA"); Person.show(); } }

運行結果:

姓名=lemon,性別=Male,年齡=20,國籍=CHINA

 

第一篇博客,加油!

努力努力再努力!


免責聲明!

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



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