匿名の内部クラスについての面接問題

988 ワード

今日も多くのことを記録するつもりはありません。匿名の内部に関する面接問題を共有したいです。
テーマは以下の通りです
    ,    
	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();
	}
}