以下两种方法定义之间是否有任何区别? Eclipse不会抱怨任何一个。
private void method1() {
}
和
private void method2() {
};
答案 0 :(得分:6)
;
没有帮助和伤害。它不属于method2()
,编译器将忽略它。
答案 1 :(得分:4)
分号不是方法的一部分,因此方法定义之间没有区别。
分号只是课堂的一部分。
class AClass {
private void method() { }
;
}
这是等效的。
您可以将初始化语句放在类主体中。它们在创建实例时执行。单个分号构成一个空语句,因此它不是很有用。其他初始化器更有用:
class AClass {
private void method() { }
;
int x = 5;
{
System.out.println("Hello world");
}
int y = 5; ; ;
}
答案 2 :(得分:1)
方法的大括号后不应有任何分号。
但是如果你确实这样做了,编译器就会把它当作一个空语句,因此它不会给你任何问题。
答案 3 :(得分:1)
句法糖。
(您始终可以运行javap
以确保字节码相同)