匿名内部类

来源:互联网 发布:吓人软件大全 编辑:程序博客网 时间:2024/05/01 11:04

终于看懂什么叫匿名内部类了,其实就是一句  return new E(){};其他的并不属于匿名内部类 E可以是接口也可也以是抽象类。

 

 觉得内部类,叫“内部接口或抽象类”更形象

//: innerclasses/MultiImplementation.java
// With concrete or abstract classes, inner
// classes are the only way to produce the effect
// of "multiple implementation inheritance."
package innerclasses;

class D {
}

abstract class E {
}

class Z extends D {
 E makeE() {

    // Anonymous inner class:  就这句E


  return new E(){};
 }
}

public class MultiImplementation {
 static void takesD(D d) {
 }

 static void takesE(E e) {
 }

 public static void main(String[] args) {
  Z z = new Z();
  takesD(z);
  takesE(z.makeE());
 }
} // /:~

原创粉丝点击