能否一類被實例化在Java靜態?
static class c1(){
}
可以這樣做嗎?我對這個和非靜態東西的內存映射感到困惑。請幫助
能否一類被實例化在Java靜態?
static class c1(){
}
可以這樣做嗎?我對這個和非靜態東西的內存映射感到困惑。請幫助
該類可以用java中的static關鍵字實例化嗎?例如:static class c1(){}
您的術語不正確。 「實例化類」意味着創建類的實例;即創建對象。這是通過使用new
操作完成的。你的例子實際上是宣佈一類。
話雖如此,是的,你可以聲明一個類爲static
,但這隻能爲一個嵌套類;即在內另一類中聲明的類別。
感到困惑與此並與非靜態的東西的內存映射,請幫助
我沒有什麼線索你是在談論這裏。如果您在這一點上需要更多幫助,您需要更清楚地解釋自己。
帶類定義的static
的意義不在於該類是否可以實例化,而是該類是否必須從外部類的非靜態方法中實例化。
非靜態內部類實例綁定到創建它們的實例 - 內部類實例中有一個指向創建實例的指針(這在許多方面都很有用)。靜態內部類實例不綁定到創建實例。
(我曾在JVM的內部結構大約10年,我仍然覺得迷惑。)
「靜態內部類實例不綁定到創建實例。」這是我需要的! –
靜沒有任何與內存映射。這意味着沒有與它關聯的實例。
對於static class
這意味着類的實例不與外部類實例關聯。
它打破了範例。考慮一下:靜態成員是每個實例都有的共同成員,但不清楚如何將這種共享思想擴展到一個類中?
你期望靜態關鍵字能做什麼?
你可以有靜態類,如下圖所示
class A
{
static class B //static inner class
{
static void dis()
{
System.out.println("this is me");
}
}
}
class four extends A.B
{
public static void main(String args[])
{
dis();
}
}
在上面的例子中,多級繼承是實例化的......在JAVA中可能嗎? –
是的,它可以在Java中 – Abhishekkumar
你爲什麼不試試呢? – Baz