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用於統計書的數量。