1. Was ist der Unterschied zwischen statischer verschachtelter Klasse und innerer Klasse?
Statisch verschachtelte Klasse: Die statisch verschachtelte Klasse ist eine als statisch deklarierte innere Klasse, die instanziiert werden kann, ohne auf externe Klasseninstanzen angewiesen zu sein.
Innere Klasse: Sie muss instanziiert werden, bevor die externe Klasse instanziiert werden kann. Ihre Syntax sieht ziemlich seltsam aus. (Empfohlene Studie: Java-Interviewfragen)
2. Wo im folgenden Code treten Kompilierungsfehler auf?
class Outer { class Inner { } public static void foo() { new Inner(); } public void bar() { new Inner(); } public static void main(String[] args) { new Inner(); } }
Hinweis: Die Erstellung nicht statischer innerer Klassenobjekte in Java hängt von den externen Klassenobjekten ab. In den obigen Interviewfragen sind sowohl die foo- als auch die main-Methode statische Methoden in der statischen Methode heißt es, dass es kein sogenanntes äußeres Klassenobjekt gibt, sodass keine inneren Klassenobjekte erstellt werden können. Wenn Sie innere Klassenobjekte in einer statischen Methode erstellen möchten, können Sie Folgendes tun:
new Outer().new Inner();
Reflection in Java
Erzählen Sie mir etwas über Ihr Verständnis von Reflection in Java
Reflection in Java kann zunächst den Bytecode der Reflection-Klasse in Java abrufen. Es gibt drei Möglichkeiten, den Bytecode zu erhalten:
Class.forName(className).
Klassenname.Klasse.
this.getClass().
Dann werden die Methoden, Variablen, Konstruktoren usw. im Bytecode den entsprechenden Methoden, Feldern, Konstruktoren und anderen Klassen zugeordnet. Diese Klassen bieten eine Fülle von Methoden, die von uns verwendet werden können.
Das obige ist der detaillierte Inhalt vonInterne Java-Kurse und Reflexionsinterviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!