匿名内部类习题解
分析
-
题目:
// 按照要求,补齐代码
interface Inter { void show(); }
public class Outer { //补齐代码 }
public class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
// 要求在控制台输出”HelloWorld”
-
题目分析
-
我们先看 main 方法中的信息,Outer.method() 就说明 method() 方法是static修饰的!(这样才可以用类调用这个方法,如果有疑问请百度 “static与普通方法的关系!”)
-
我们再来看 main 方法中 show() 方法要输出 ”Hello World” 那么说明其返回值为空,方法体内容为:
System.out.println("HelloWorld")-
而 Outer.method().show(); 这是一个链式编程,可以看出 method() 方法的的返回值是对象(Inter的实现类对象)
-
我们在返回来看 Inter 接口中的 void show(); 这里面隐藏了 public 和 abstract 两个修饰词。(注意是public 修饰的,所以你实现类的修饰词也一定是 public !如果有疑问请百度 “ public 实现类! ”)
-
代码
public class Outer {
public static Inter method(){
Inter i = (new Inter(){
public void show(){
System.out.println("hello world");
}
});
return i;
}
}

浙公网安备 33010602011771号