在定义类中的方法时,如果在后面加上分号";",编译和执行都不会受影响,如下面代码中的class A中的print方法,无论有没有分号结果都是一样的,请问这是为什么?分号在这里起什么作用?请高手们帮忙解答下,谢谢!class A{
int x;
public A(int x){
this.print(x) ;
}
public void print(int x){
System.out.println("x="+x);
};
}
public class Test1{
public static void main(String args[]){
A a = new A(10) ;
}
}
int x;
public A(int x){
this.print(x) ;
}
public void print(int x){
System.out.println("x="+x);
};
}
public class Test1{
public static void main(String args[]){
A a = new A(10) ;
}
}
与下面的类似:
int a=5;;; 后两个都是多余的.
public void f() {
}
;
}
D:\>java Test.java
D:\>javap -c Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: returnpublic void f();
Code:
0: return}public class Test {
public void f() {
}
}D:\>java Test.java
D:\>javap -c Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
public Test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: returnpublic void f();
Code:
0: return}