当前位置: 代码迷 >> Java相关 >> 语法问题:大括号后面有分号,表示什么意思?
  详细解决方案

语法问题:大括号后面有分号,表示什么意思?

热度:453   发布时间:2010-05-05 16:24:43.0
语法问题:大括号后面有分号,表示什么意思?
程序代码:
    private OnClickListener calcBMI = new OnClickListener(){
        public void onClick(View v){
            //语句块           
        }
    };

如上代码。
我记得定义接口的话,大括号后面是要分号的。
但这里好像不是接口,这个分号是嘛意思?

OnClickListener 这个是某SDK提供的类名,已经import了的。

[ 本帖最后由 sexxp 于 2010-5-5 16:26 编辑 ]
搜索更多相关的解决方案: 语法  括号  分号  

----------------解决方案--------------------------------------------------------
这个是匿名类

[ 本帖最后由 lampeter123 于 2010-5-5 17:00 编辑 ]
----------------解决方案--------------------------------------------------------
以下是引用lampeter123在2010-5-5 16:58:07的发言:

不用分号也可以
不用不行哦,Eclipse 会报错哦。在后面这个大括号那里会出现小波浪红线提示。
----------------解决方案--------------------------------------------------------
这里就是有个匿名内部类
一般来说,new 一个对象时小括号后应该是分号,也就是new出对象该语句就结束了。
但是出现匿名内部类就不一样,小括号后跟的是大括号,大括号中是该new 出对象的具体的实现方法。
因为我们知道,一个抽象类是不能直接new 的,必须先有实现类了我们才能new出它的实现类。
上面的代码就是表示new 的是OnClickListener的实现类,这个实现类是个匿名内部类。

----------------解决方案--------------------------------------------------------
哦。。原来是这样。。。
----------------解决方案--------------------------------------------------------
以下是引用lampeter123在2010-5-5 17:04:08的发言:

这里就是有个匿名内部类
一般来说,new 一个对象时小括号后应该是分号,也就是new出对象该语句就结束了。
但是出现匿名内部类就不一样,小括号后跟的是大括号,大括号中是该new 出对象的具体的实现方法。
因为我们知道,一个抽象类是不能直接new 的,必须先有实现类了我们才能new出它的实现类。
上面的代码就是表示new 的是OnClickListener的实现类,这个实现类是个匿名内部类。

大哥能否再讲一下,什么情况下使用匿名内部类?
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-05 10:20:27
baifenghan

等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
  得分:4 
不仅仅是因为只调用一次,还有就是逻辑比较简单
----------------解决方案--------------------------------------------------------
类的定义在最后都要加分号
----------------解决方案--------------------------------------------------------
以下是引用南国利剑在2010-5-5 23:39:56的发言:

类的定义在最后都要加分号

不是吧?我以前看的书好像是:

Class 类名 {
    private ...         //属性
    public 类名(){...}  //构造方法
    public xx(){...}    //成员方法
}

最后是没有分号的哦?
----------------解决方案--------------------------------------------------------
  相关解决方案