需求:
在控制台输出”HelloWorld”
自己书写,不要用idea自动生成。
interface Inter {
void show();
}
class Outer {
//补齐代码
}
public class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
分析: 1、Outer.method(),直接用类调用了方法,证明这个方法(method())是个静态方法,否则需要创建对象才能调用方法,故用static关键字修饰该方法 2、Outer.method().show(),在这段链式编程的最后还调用了show()方法,并且在接口Inter中有show()方法,证明Outer.method()的返回值是Inter类型的并且其中的方法重写过,故返回值为Inter且使用匿名内部类
interface Inter {
void show();
}
class Outer {
public static Inter method() {
//使用匿名内部类,直接返回匿名内部类
return new Inter(){
@Override
public void show(){
System.out.println("HelloWorld");
}
};
}
}
public class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
//.show实际调用的是在匿名内部类中重写后的show()方法
}
}