JAVA! static什麼作用?
static是靜態修飾符,什麼叫靜態修飾符呢?大家都知道,在程式中任何變數或者程式碼都是在編譯時由系統自動分配記憶體來儲存的,而所謂靜態就是指在編譯後所分配的記憶體會一直存在,直到程式退出記憶體才會釋放這個空間,也就是隻要程式在執行,那麼這塊記憶體就會一直存在。這樣做有什麼意義呢?在Java程式裡面,所有的東西都是物件,而物件的抽象就是類,對於一個類而言,如果要使用他的成員,那麼普通情況下必須先例項化物件後,通過物件的引用才能夠訪問這些成員,但是有種情況例外,就是該成員是用static宣告的(在這裡所講排除了類的訪問控制),例如:
package 6;
public class Book {
private String title;
private String author;
private double price;
public static int counter = 0;
public Book(){
e = "java";
or = "xiaoming";
e = 2.50;
counter++;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
e = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
or = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
e = price;
}
public static int getCounter() {
return counter;
}
public static void setCounter(int counter) {
ter = counter;
}
}
package 6;
public class BookTest {
public static void main(String[] args) {
Book b = new Book();
Book[] bb = new Book[4];
tln("bookname: " + itle());
tln("bookauthor: " + uthor());
tln("bookprice: " + rice());
for (int i = 0; i < 4; i++) {
bb[i] = new Book();
}
tln(ounter());
}
}
這段程式碼裡面Tstatic類有一個static的int變數counter用於統計書的數量。