内部类

  内部类可以用来实现c中的多重继承:a.既可以调用外部类的方法,b.又可以继承别的类调用继承类的方法

  关于"new Interface "这个问题:java中明确表示接口不可以被实例化,但是在使用匿名内部类时有一种特殊的语法与“实例化一个接口”类似:

  

interface ProgrammerInterview  {
    public void read();
}

class Website  {
    ProgrammerInterview p = new ProgrammerInterview () {
        public void read() {
            System.out.println("interface ProgrammerInterview  class implementer");
        }
    };
}            

  上面红色代码处就是“实例化一个接口”,其实他的含义 class A implements ProgrammerInterview{}简写之后就成了上面那个鬼样子O(∩_∩)O~。恩,它也是java中唯一一个实现接口但是却没有“implements”关键字的写法。

接口内部类

public interface ClassInInterface{
    void howdy();
    class Test implements ClassInInterface{
        public void howdy(){
                System.out.println("Howdy!");
            }
        public static void main(String[] args){
                new Test().howdy();
            }
        }
    }

如果你想要创建某些公共代码,使得它可以被某些接口的所有不同实现所共用,那么使用接口内部类会更方便

原文地址:https://www.cnblogs.com/androiddream/p/4757715.html