黑马程序员技术交流社区

标题: 关于匿名内部类的总结02 [打印本页]

作者: MichaelLian    时间: 2016-4-13 23:14
标题: 关于匿名内部类的总结02
  1. class Demo_AnonymousInnerClass02 {
  2.         public static void main(String[] args) {
  3.                 Outer o=new Outer();
  4.                 o.method();
  5.         }
  6. }

  7. interface Inter{
  8.         public abstract void print01();
  9.         public abstract void print02();
  10. }

  11. class Outer{
  12.         public void method(){
  13.                         // Inter i=new Inner();
  14.                         // i.print();
  15. //匿名内部类只适合重写一个方法时使用,复用性太差;
  16.                 new Inter(){
  17.                         public void print01(){
  18.                                 System.out.println("Anonymous Inner Class realise interface 01!");
  19.                         }
  20.                         public void print02(){
  21.                                 System.out.println("Anonymous Inner Class realise interface 02!");
  22.                         }
  23.                 }.print01();

  24.                 new Inter(){
  25.                         public void print01(){
  26.                                 System.out.println("Anonymous Inner Class realise interface 02!");
  27.                         }
  28.                         public void print02(){
  29.                                 System.out.println("Anonymous Inner Class realise interface 02!");
  30.                         }
  31.                 }.print02();
  32. //父类引用指向子类对象方法实现
  33.                 Inter i= new Inter(){
  34.                         public void print01(){
  35.                                 System.out.println("Anonymous Inner Class realise interface 01!");
  36.                         }
  37.                         public void print02(){
  38.                                 System.out.println("Anonymous Inner Class realise interface 02!");
  39.                         }

  40.                         public void print03(){
  41.                                 System.out.println("Anonymous Inner Class realise interface 02!");
  42.                         }
  43.                 };                                //不能少分号
  44.                 i.print01();
  45.                 i.print02();
  46.                 //i.print03(); //此方法是子类的特有方法,编译看父类而出错,这是本方法的弊端
  47.         }
  48. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2