• 类中定义接口匿名内部类


     1 class Outer
     2 {
     3     //内部类
     4     class InnerClass
     5     {
     6         void show()
     7         {
     8             System.out.println("类InnerClass中的show()...");
     9         }
    10     }
    11     //内部接口
    12     interface InnerInterface
    13     {
    14         void show();
    15     }
    16 
    17     void show()
    18     {    
    19         //方法中通过匿名实现方式调用
    20         new InnerInterface()
    21         {
    22             public void show()
    23             {
    24                 System.out.println("接口InnerClass中的show()...类Outer中show()中的InnerInterface的show()...");
    25             }
    26         }.show();
    27     }
    28 
    29 }
    30 public class ClassInterface
    31 {
    32     public static void main(String[] args)
    33     {
    34         Outer outer = new Outer();
    35         //outer.new InnerClass().show(); //1、外部类调用内部类中的方法show() ---成功
    36         
    37         //outer.show(); //2、类Outer中通过匿名实现方式调用 ---成功
    38 
    39         //3、外部类中通过匿名实现方式调用
    40         outer.InnerInterface()
    41         {
    42             
    43             @Override public void show()
    44             {
    45                 System.out.println("接口InnerClass中的show()...");
    46             }
    47         }.show();
    48         /*
    49             上面的这句报的错误:
    50 
    51             ClassInterface.java:40: 错误: 匿名类实现接口; 不能有限定符 - 对于新
    52                 outer.new InnerInterface()
    53                 1 个错误
    54         */
    55     }
    56 }

    下面可以运行:

     1 public static void main(String[] args)
     2         {
     3                 new Outer.InnerInterface()
     4                 {
     5                         @Override public void show()
     6                         {
     7                                 // TODO Auto-generated method stub
     8                                 System.out.println("覆盖没。。。。。");// 答:覆盖了!- -。
     9                         }
    10                 }.show();
    11         }
  • 相关阅读:
    学好C++必须要注意的十八个问题
    c++设计模式-----抽象工厂模式
    C++设计模式----工厂模式
    c++设计模式----装饰模式
    常用算法(二)—高级算法
    常用算法收集
    修改admin中App的名称与表的名称
    数据分析画图,使用原生sql查询数据
    组合搜索框的实现
    django前端分页小组件
  • 原文地址:https://www.cnblogs.com/hacket/p/3122526.html
Copyright © 2020-2023  润新知