首頁 >Java >Java面試題 >Java內部類別及反射類別面試題目

Java內部類別及反射類別面試題目

(*-*)浩
(*-*)浩原創
2019-11-28 15:43:262609瀏覽

Java內部類別及反射類別面試題目

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等類,這些類提供了豐富的方法可以被我們所使用。

以上是Java內部類別及反射類別面試題目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn