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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MichaelLian 中级黑马   /  2016-4-13 23:15  /  302 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马