黑马程序员技术交流社区

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

作者: MichaelLian    时间: 2016-4-13 23:15
标题: 关于匿名内部类的总结03
  1. class Demo_AnnoInnerClass {
  2.         public static void main(String[] args) {
  3.                 Outer o=new Outer();
  4.                 o.method01();
  5.                 o.method02();
  6.                 o.method03();
  7.                 o.method04();
  8.         }
  9. }

  10. interface Inter{
  11.         public abstract void print();
  12. }

  13. class Outer{
  14. //内部类实现接口;
  15.         class Inner implements Inter{
  16.                 public void print(){
  17.                         System.out.println("Inner Class realise interface !");
  18.                 }
  19.         }

  20.         public void method01(){
  21.                 Inner i=new Inner();
  22.                 i.print();
  23.         }
  24. //局部内部类实现接口;
  25.         public void method02(){
  26.                         class Inner implements Inter{
  27.                                 public void print(){
  28.                                 System.out.println("Part Inner Class realise interface !");
  29.                                 }
  30.                         }
  31.                 Inner i=new Inner();
  32.                 i.print();
  33.         }
  34. //局部内部类的一种,匿名内部类实现接口;
  35.         public void method03(){

  36.                         new Inner().print(); //创建局部内部类的匿名对象,并调用print();

  37.                         Inter i=new Inner(); //与new Inner().print(); 父类引用指向子类对象;
  38.                         i.print();                               

  39.                         new Inter(){
  40.                                 public void print(){
  41.                                 System.out.println("Anonymous Inner Class realise interface !");
  42.                                 }
  43.                         }.print();

  44.         }
  45. //局部内部类的一种,匿名内部类继承局部内部类;
  46.         public void method04(){

  47.                         new Inner(){
  48.                                 public void print(){
  49.                                 System.out.println("Anonymous Inner Class extends inner class !");
  50.                                 }
  51.                         }.print();

  52.         }
  53.        

  54. }
复制代码





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