ybdt1201 2016-08-13 08:11 采纳率: 100%
浏览 981
已采纳

大神帮我看下这串关于java匿名内部类有什么问题没

这串代码是引自一个学习博客:http://blog.csdn.net/chenssy/article/details/13170015

package testNote1;

public class OutClass {  
    public InnerClass getInnerClass(final int age,final String name){  
        return new InnerClass() {  
            int age_ ;  
            String name_;  
            //构造代码块完成初始化工作  
            {  
                if(0 < age && age < 200){  
                    age_ = age;  
                    name_ = name;  
                }  
            }  
            public String getName() {  
                return name_;  
            }  

            public int getAge() {  
                return age_;  
            }  
        };  
    }  

    public static void main(String[] args) {  
        OutClass out = new OutClass();  

        InnerClass inner_1 = out.getInnerClass(201, "chenssy");  
        System.out.println(inner_1.getName());  

        InnerClass inner_2 = out.getInnerClass(23, "chenssy");  
        System.out.println(inner_2.getName());  
    }  
}  

我在想上面的代码是不是少了定义类,如:

package testNote1;

public class InnerClass {
    public String name_;
    public int age_;

      public String getName() {  
          return name_;  
      }  

      public int getAge() {  
          return age_;  
      }  

}

如果是这样的话,代码中的内部类中下图的部分是否定义多余了:

图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-08-13 15:40
    关注

    上面的写法是匿名的写法,下面的写法是命名的写法,都是可以的。匿名的写法没办法在代码中使用类型名。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败