黑马程序员技术交流社区

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

作者: 我为你着迷    时间: 2014-10-30 16:01
标题: 关于匿名内部类补足代码的问题
本帖最后由 我为你着迷 于 2014-10-30 16:03 编辑
  1. interface Inter
  2. {
  3.         void method();        
  4. }

  5. class Test
  6. {
  7.         //补足代码。通过匿名内部类。        
  8.         
  9.         /*
  10.         //有名字的,使用内部类形式
  11.         static class Inner implements        Inter
  12.         {
  13.                 public void method()
  14.                 {
  15.                         System.out.println("method run");
  16.                 }        
  17.         }
  18.         
  19.         static Inter function()
  20.         {
  21.                 return new Inner();        
  22.         }
  23.         */
  24.         
  25.         static Inter function()
  26.         {
  27.                  return new Inter()
  28.                  {
  29.                           public void method()
  30.                     {
  31.                             System.out.println("method run");
  32.                     }                        
  33.                  };        
  34.         }
  35. }

  36. class         InnerClassTest
  37. {
  38.         public static void main(String[] args)
  39.         {
  40.                 Test.function().method();
  41.                
  42.                 /*
  43.                 Inter in=Test.function();
  44.                 in.method();
  45.                 */
  46.         }
  47. }
复制代码
.method():代表的是function这个方法运算后的结果是一个对象,而且是一个Inter类型的对象。
大伙好  我的问题是为什么返回的是一个Inter类型的对象呢 这句话该怎么理解啊  。我始终想不明白啊  没救了



作者: 何丛    时间: 2014-10-30 16:08
能调用method方法的只能是实现了Inter的类创建的对象
作者: Eagle    时间: 2014-10-30 16:44
看这代码有点痛苦、、、
作者: 我为你着迷    时间: 2014-10-30 17:21
何丛 发表于 2014-10-30 16:08
能调用method方法的只能是实现了Inter的类创建的对象

那为什么返回的不是Inter创建的对象呢
作者: 何丛    时间: 2014-10-30 18:13
何丛 发表于 2014-10-30 16:08
能调用method方法的只能是实现了Inter的类创建的对象

Inter是一个接口,只能用它的实现类来实例化
作者: 苑桥别馆    时间: 2014-10-30 22:06
代码比较麻烦,看一会
作者: 苑桥别馆    时间: 2014-10-30 22:08
代码比较麻烦,看一会




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