加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在分号后面使用{}

发布时间:2020-12-14 16:42:28 所属栏目:Java 来源:网络整理
导读:参见英文答案 Anonymous code blocks in Java7个 在一本关于动作栏的书中给出的android代码的例子中,给出的示例如下: MenuItem menu1 = menu.add(0,"Item 1");{ menu1.setIcon(R.drawable.ic_launcher); menu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_
参见英文答案 > Anonymous code blocks in Java7个
在一本关于动作栏的书中给出的android代码的例子中,给出的示例如下:
MenuItem menu1 = menu.add(0,"Item 1");
{
  menu1.setIcon(R.drawable.ic_launcher);
  menu1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
}

如何在分号后使用花括号?这里有一些我不明白的概念.

解决方法

在这种情况下,它们是完全可选的,根本没有副作用.在您的示例中,唯一的目的是通过打算属于控件的属性分配来使代码更易于阅读.你也可以没有大括号做.但是,如果您使用工具重新格式化代码,缩进可能已经过去了.

但是,如果你有一个方法,你把{}放在那里,你可以创建一个新的变量范围:

void someMethod() {
    {
         int x = 1;
    }
    // no x defined here
    {
         // no x here,so we may define a new one
         string x = "Hello";
    }
}

您可以在方法中的任何位置启动新的范围,您可以在其中启动语句(变量声明,方法调用,循环等)

注意:当你有一个if语句的时候,你也用这个大括号创建一个新的变量范围.

void someMethod() {
    if (someThing) {
         int x = 1;
    }
    // no x defined here
    if (somethingElse) {
         // no x here,so we may define a new one
         string x = "Hello";
    }
}

对于,尝试,抓住等也是一样的.如果你想到它,即使方法体的大括号也以这种方式工作:它们创建一个新的范围,它是一个“层”在类范围之上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读