FL_jishu 2017-04-11 15:15 采纳率: 50%
浏览 1844
已采纳

Java匿名内部类的用法

先创建一个父类,在new一个对象时,重写父类的方法,这个匿名内部类怎么报错了,还是匿名内部类只能重写接口的方法,不能这样用?图片

  • 写回答

1条回答 默认 最新

  • 战在春秋 2017-04-11 21:52
    关注

    Java匿名内部类或者继承自某类,或者继承自某接口 (题目中outer即继承OutI接口)。

    需要保证 Pa类有定义,且也定义了eat方法,然后才能如图中代码这样使用。

    示例如下:

    public class AnonymousClassDemo
    {
      public static void main(String[] args)
      {
        Dog dog = new Dog() {  // anonymous class body closes here,dog contains an object of anonymous subclass of Dog.
          public void someDog ()
          {
            System.out.println("Anonymous Dog");
          }         
        }; 
    
        dog.someDog();
      }
    }
    
    class Dog
    {
      public void someDog()
      {
        System.out.println("Classic Dog");
      }
    }
    

    OutI接口有定义,且定义了show方法,所以out类就没报错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素