两种方法实现之间的区别?

时间:2012-02-01 11:18:37

标签: java syntax

以下两种方法定义之间是否有任何区别? Eclipse不会抱怨任何一个。

private void method1() {
}

private void method2() {    
};

4 个答案:

答案 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以确保字节码相同)