1、靜態嵌套類 (Static Nested Class) 和內部類(Inner Class)的不同?
靜態嵌套類:Static Nested Class是被宣告為靜態(static)的內部類,它可以不依賴于外部類實體被實體化,
內部類:需要在外部類實體化后才能實體化,其語法看起來挺詭異的, (推薦學習:java面試題目)
2、下面的代碼哪些地方會產生編譯錯誤?
class Outer {
class Inner {
}
public static void foo() {
new Inner();
}
public void bar() {
new Inner();
}
public static void main(String[] args) {
new Inner();
}
}
注意:Java中非靜態內部類物件的創建要依賴其外部類物件,上面的面試題中foo和main方法都是靜態方法,靜態方法中沒有this,也就是說沒有所謂的外部類物件,因此無法創建內部類物件,如果要在靜態方法中創建內部類物件,可以這樣做:
new Outer().new Inner();
Java中的反射
說說你對 Java 中反射的理解
Java中的反射首先是能夠獲取到Java中要反射類的位元組碼,獲取位元組碼有三種方法:
Class.forName(className),
類名.class,
this.getClass(),
然后將位元組碼中的方法,變數,建構式等映射成相應的Method、Filed、Constructor等類,這些類提供了豐富的方法可以被我們所使用,
最后注意:光理論是不夠的,在此順便送大家十套2020最新JAVA架構專案實戰教程及大廠面試題庫,進我扣裙 :七吧傘吧零而衣零傘 (數字的諧音)轉換下可以找到了,還可以跟老架構師交流
本文的文字及圖片來源于網路加上自己的想法,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/193105.html
標籤:Java
