作者tnsshnews (tnsshnews)
看板java
標題[問題] 為何static method不用物件化便能直接使?
時間Thu Oct 25 15:46:53 2012
Dear all,
public class demo{
public static String test1;
public static String getString(){
return test1;
}
}
static放在變數或是方法之前代表是class level的變數,
但為什麼要使用getString方法時, 只要直接用demo.getString就好呢?
雖然是class等級, 但這個class在之前如果都沒有被使用過, 這邊直接呼叫,
記憶體空間怎麼會已經配置好空間存放呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.166.9.112
1F:推 PsMonkey:囧... 只能說,請參閱 Java Spec 有明確定義 10/25 15:50
2F:→ LaPass:你應該問.... 為什麼非static澳宣告才能使用才對...... 10/25 16:34
3F:推 LaPass: 要 10/25 16:39
4F:→ PsMonkey:嗯? 我到覺得這兩個問題沒啥交集耶 XD 10/25 16:53
5F:→ tkcn:Class object 是由 JVM 負責建立的 10/25 17:03
6F:推 tomoyaken14:你怎麼知道他沒有物件化? 10/25 22:12
7F:推 SansWord:話說Class 名稱還是大寫開頭看起來比較順。 10/26 09:47
8F:推 LaPass:小寫的話,會跟packet的名稱衝到..... 在用反射之類的東西 10/26 09:54
9F:→ LaPass:可能會出問題。之前在板上看過有人po出這種狀況 10/26 09:58
10F:推 Schelfaniel:其實像Scala把static直接拆到object新手比較容易理解 10/26 18:01