JAVA中使用靜態方法

JAVA中使用靜態方法

編程時我們心裏一定要清楚靜態方法和類的非靜態方法方法的區別:
最根本區別從編譯角度來說吧:
1) 靜態(static)方法是編譯時直接加載加載到內存中(離cpu最近的一塊內存區域也稱爲堆棧),比如程序的public static main(args []){}方法,你能實例話嗎?
靜態方法不能被實例化,也不允許被實例化!

因此你可以通過“類名”+“.”+“靜態方法的名()”來調用

2)非靜態方法(類的非靜態方法)通過關鍵字 “new” 字來實例化一個對象(object),這個對象放在內存的另一塊區域堆(heap)中。
也就是說編譯時,非靜態方法必須先實例化類的一個對象,通過“對象名”+“非靜態方法名()”來調用,

或者是“對象引用(句柄)”+“.”+“靜態方法的名()”;

public class Student {

private String name;

//下面兩個方法是類的非靜態方法封裝 屬性name,看一下在 main()如何調用
public void set(String init_name) {
this.name = init_name;
}

public String get() {
return this.name;
}

//構造函數
public Student() {}
public Student(String init_name) {
this.name = init_name;
}

//下面是一個靜態方法,看一下它在main()中如何調用
public static void PrintClassName() {
System.out.println("該類的名字:Student");
}
}


public class MainClass {

public static void main(String[] args) {
//先調用靜態方法,不需要實例化對象
Student.PrintClassName();

//現在調用非靜態方法,一定要實例化對象
Student stu1 = new Student();
stu1.set("John");
String stu1_name = stu1.get();
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章