每星期五John大師開釋
這邊是Class
public class Book {
//成員變數
public String name;
public int price;
public static int count = 0;
//建構子1
public Book() {
System.out.println("建構子1");
name = "none";
price = 0;
count++;
}
//建構子2
public Book(String name, int price) {
System.out.println("建構子2");
this.name = name;
this.price = price;
count++;
}
//non-static method
public void showBook() {
System.out.println(" non-static name:" + name + ",price:" + price);
}
//static method
public static void staticShowBook() {
System.out.println("static method()");
}
}
這邊是主程式
public class BookMain {
public static void main(String[] args) {
Book b = new Book();
b.showBook();
Book b2 = new Book("Java", 100);
b2.showBook();
System.out.println(Book.count);
Book.staticShowBook();
int i = Book.count;
}
}
範例觀念
1、Static method與non-Static method,呼叫時的差異
Static method使用時,不需要New就可以使用
Ex:Book.staticShowBook();
non-Static method呼叫時需要New完物件後才可以進行呼叫
Ex: Book b = new Book();
b.showBook();
2、成員變數分為Static與non-Static
public使用時每New一次會有不同的記憶體位置儲存
static共用這個變數(記憶體裡面只有一份,不管本身Class或其他Class)
3、 this關鍵字表示目前使用的實體或者用_name與name作區別
_name表示Method外、Class內
name表示Method內
沒有留言:
張貼留言