匿名内部类面试题
题目
描述补全下面代码,使之能够输出“Hello world”
package com.newedu.javabase.day.exrecises.v1;
interface Inner{ void show();}
class Outer{
//补全代码
}
public class OuterDemo {
public static void main(String[] args) {
Outer.method().show(); //能够输出“Hello world”;
}
}
知识点
1,类名.方法名 表示 方法是被 static 修饰的
2,链式编程,方法的返回值类型为对象类型
3,匿名内部类
答案:
package com.newedu.javabase.day.exrecises.v1;
interface Inner{ void show();}
class Outer{
//补全代码
public static Inner method() {
//接口作为方法的返回值类型,
//本质上是返回实现了该接口的子类对象。
//可以直接 return 匿名内部类;
return new Inner(){
@Override
public void show(){
System.out.println("Hello world");
}
};
}
}
/**
* 知识点
* 1,类名.方法名 表示 方法是被 static 修饰的
* 2,链式编程,方法的返回值类型为对象类型
* 3,匿名内部类
* @author giantPanda
*
*/
public class OuterDemo {
public static void main(String[] args) {
Outer.method().show(); //能够输出“Hello world”;
//链式编程
//类名.method();
//Outer.method()表示method()是static修饰
}
}
ヾ(◍°∇°◍)ノ゙