匿名の内部クラスについての面接問題
988 ワード
今日も多くのことを記録するつもりはありません。匿名の内部に関する面接問題を共有したいです。
テーマは以下の通りです
その後、呼び出されたインターフェースInterのshow()の方法を見て、前のOuter.method()のタイプはInterタイプで、つまりインターフェースタイプです。そうでなければ、このshow()のメソッドを呼び出すことができないので、method()の方法はInterタイプの戻り値があるべきです。
したがって、私たちはMethod法に匿名の内部クラスを書き、それをmethod法の戻り値として残すべきです。最後のコードは以下の通りです。
テーマは以下の通りです
,
interface Inter {
void show();
}
class Outer {
//
}
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
”HelloWorld”。
以上はこの小さな面接問題です。今日は授業がないと完成できないと思います。まずメールの方法で文を呼び出す方法を分析します。Outer.method()、Outerは直接に後にポイントを追加して呼び出すmethod()方法です。method()方法はOuter類の中の静的な方法ですので、まずコードにこのmethod方法を書いてもいいです。その後、呼び出されたインターフェースInterのshow()の方法を見て、前のOuter.method()のタイプはInterタイプで、つまりインターフェースタイプです。そうでなければ、このshow()のメソッドを呼び出すことができないので、method()の方法はInterタイプの戻り値があるべきです。
したがって、私たちはMethod法に匿名の内部クラスを書き、それをmethod法の戻り値として残すべきです。最後のコードは以下の通りです。
interface Inter{
void show();
}
class Outer{
public static Inter method(){
return new Inter(){
public void show(){
System.out.println("Hello World");
};
};
}
}
class OuterDemo{
public static void main(String[] args){
Outer.method().show();
}
}