匿名内部类习题解

匿名内部类习题解

分析

  • 题目:

// 按照要求,补齐代码
interface Inter { void show(); }
public class Outer { //补齐代码 }
public class OuterDemo {
public static void main(String[] args) {
 Outer.method().show();
}
}
// 要求在控制台输出”HelloWorld”
  • 题目分析

    1. 我们先看 main 方法中的信息,Outer.method() 就说明 method() 方法是static修饰的!(这样才可以用类调用这个方法,如果有疑问请百度 “static与普通方法的关系!”)

    2. 我们再来看 main 方法中 show() 方法要输出 ”Hello World” 那么说明其返回值为空,方法体内容为:

        System.out.println("HelloWorld")
    1. 而 Outer.method().show(); 这是一个链式编程,可以看出 method() 方法的的返回值是对象(Inter的实现类对象)

    2. 我们在返回来看 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;
      }
}

 

posted @ 2020-07-05 15:11  错错错阿  阅读(256)  评论(0)    收藏  举报