① java類中定義的類怎麼 實例化
首先這是個內部類。
內部類只能在類裡面實例化
就你這個例子來說
publicclassa{
publicclassb{}
publica(){
bxx=newb();//這樣才可以。
}
}
例外的是,如果內部類是靜態的。可以其他類中實例化。
比如
publicclassa{
publicstaticclassb{}
}
a.bxx=newa.b();
② java 內部類為什麼不能用靜態方法
靜態的對象,在內存中實默認實例派察化塵咐茄的,在載入的時候就會存放到內存中。也就是可以直接調用而不需要手動實例化。理解這個就不難理解樓主說的問題了。首先內部的靜態類他是不能直接被實例化的。你必須實例化外部類才能實例簡畝化它。而外部類不是默認載入的,他只有在手動實例化之後才有內存分配。這時問題出現了。既然靜態對象是默認載入,那麼靜態內部類應該先於外部類被載入到內存中。那麼這是又和我們之前的一個結論相反(首先內部的靜態類他是不能直接被實例化的。你必須實例化外部類才能實例化它。)所以這種寫法是錯誤的。
③ 在java中,怎麼實例化內部類
內部類的實例化方式如下例子所示:
public class Animal {
class Head{
}
}
測試如何實例化內部類:
public class TestInstanceInnerClass {
public TestInstanceInnerClass() {
Animal animal=new Animal();//首先實例化外部類
Head head=animal.new Head();//把內部類當成一個成員變數進行實例化
}
}
④ java中靜態類能否實例化
靜態類,一般使用在某個類的內容,簡稱靜態內部類。
靜態Static又有全局的意思,對於一般的public定義的外部類,沒有必要static關鍵詞,因為可以直接導入包得到該類的引用(只是在訪問其非靜態成員時需要實例化它);
而在一個類內部定義另一個類,如果該內部類不是靜態的,需要實例化它,就得先有一個外部類的對象,
如:public class A{
public class B{}
}
實例化B:
A a = new A();
B b = a.new B();
如果B是靜態的(全局的),即如下:
public class A{
public static class B{}
}
實例化B:
B b = A.new B();或者B b = new A.B();