public class MyTestClass {
public static void main(String[] args) {
new MyTestClass().myMethod();
}
public void myMethod(){
{
//do something
}
{
//do something
}
{
//do something
}
}//method close
}//class close
Run Code Online (Sandbox Code Playgroud)
这样做有什么好处?我见过这种代码.
Ste*_*n C 25
做这种事情并不常见,我不会这样做.
那些内部块(即{ ... })可以用于几个目的:
块限制在其中声明的任何变量的范围; 例如
public void foo() {
int i = 1;
{
int j = 2;
}
// Can't refer to the "j" declared here. But can declare a new one.
int j = 3;
}
Run Code Online (Sandbox Code Playgroud)
但是,我不建议这样做.IMO,最好使用不同的变量名称或将代码重构为更小的方法.无论哪种方式,大多数Java程序员将视{和}恼人视觉上的混乱.
块可用于附加标签.
HERE : {
...
break HERE; // breaks to the statement following the block
...
}
Run Code Online (Sandbox Code Playgroud)
但是,在实践中,你几乎看不到带标签的断言.而且因为它们非常不寻常,所以它们往往会使代码的可读性降低.
public void stuff() {
int i = 48;
{
int i = 21;
System.out.println(i); // prints 21
}
System.out.println(i); // prints 48
}
Run Code Online (Sandbox Code Playgroud)
基本上,这是一种创建小于整个功能的范围的方法......好处?让人们在理解之前更长时间地盯着你的代码... IMO它的风格很差,应该避免
| 归档时间: |
|
| 查看次数: |
6156 次 |
| 最近记录: |