1. 程式人生 > >java 類方法與物件方法有什麼區別

java 類方法與物件方法有什麼區別

public class Test
{

/**
* 下面這個方法就是靜態方法,應該就是樓主所說的類方法~~
* 靜態方法必須定義成static的,在類Test被例項化以前就已經存在於記憶體中
* 靜態方法使所有該類的例項也就是物件共有的方法
*/
public static void f1()
{
System.out.println("我是靜態方法~~~~~");
}

/**
* 下面這個方法就是一般的非靜態方法,應該就是樓主所說的物件方法~~
* 只有在類Test被例項化以後,才被載入到記憶體中,具體儲存在堆中,
* 非靜態方法是每個該類的例項也就是物件所私有的
*/
public void f2()
{
System.out.println("我是非靜態方法~~~~~");

}

public static void main(String[] args)
{
Test t=new Test();

/**
* 靜態方法必須既可以用類名直接呼叫,也可以用物件來呼叫
*/
Test.f1();//正確
t.f1();//正確,但不推薦這麼用~~

/**
* 非靜態方法只能用物件來呼叫~~~
*/
//Test.f2();//正確
t.f2();//正確
}

}