黑马程序员技术交流社区

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

作者: 刘国涛    时间: 2013-3-19 15:01
标题: 关于匿名内部类的问题
本帖最后由 刘国涛 于 2013-3-19 17:24 编辑

interface Inter
{
void show(int a,int b);
void func();
}
class Demo implements Inter
{
public static void main(String[] args)
{
  //调用两个函数,用匿名内部类
  Inter in = new Inter()
  {
   public void show(int a,int b)
   {
    System.out.println(a+b);
   }
   public void func()
   {
    System.out.println("function");
   }
  };
  in.show(4,5);
  in.func();
  }
}
为什么编译出错了呢?求解
作者: michaelchen    时间: 2013-3-19 15:10
本帖最后由 michaelchen 于 2013-3-19 15:29 编辑

interface Inter
{
void show(int a,int b);
void func();
}
class Demo implements Inter //用类实现接口需要覆写其方法
{
public static void main(String[] args)
{
  //调用两个函数,用匿名内部类
  Inter in = new Inter()//尝试用接口创建对象
  {
   public void show(int a,int b)
   {
    System.out.println(a+b);
   }
   public void func()
   {
    System.out.println("function");
   }
  };
  in.show(4,5);
  in.func();
  }
}
}

楼主,你在尝试用接口创建对象,根源就在这里
作者: Alex shaw    时间: 2013-3-19 15:12
首先 你定义的Inter是一个接口,不是一个内部类
第二你的Demo 类实现了Inter接口但是却未实现接口中的两个方法

作者: 刘国涛    时间: 2013-3-19 17:23
我已经明白了,谢谢各位!




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