A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Quasimodo2 中级黑马   /  2016-10-18 18:04  /  393 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

匿名内部类
A、继承式的匿名内部类

  public class Car {

  public void drive(){

  System.out.println("Driving a car!");

  }

  public static void main(String[] args) {

  Car car = new Car(){

  public void drive() {

  System.out.println("Driving anther car!");

  }

  };

  car.drive();

  }

  }

  结果输出了:Driving another car! Car引用变量不是引用Car对象,而是Car匿名子类的对象。

  B、接口式的匿名内部类。

  interface Vehicle {

  public void drive();

  }

  class Test{

  public static void main(String[] args) {

  Vehicle v = new Vehicle(){

  public void drive(){

  System.out.println("Driving a car!");

  }

  };

  v.drive();

  }

  }
C、参数式的匿名内部类。

  class Bar{

  void doStuff(Foo f){}

  }

  interface Foo{

  void foo();

  }

  class Test{

  static void go(){

  Bar b = new Bar();

  b.doStuff(new Foo(){

  public void foo(){

  System.out.println("foofy");

  }

  });

  }

  }
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端

4 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
mark,非常感谢,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马