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 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多