0

alright , heres the code :

public class MyClass {

long var;
public void MyClass(long param)
{
var=param; //st1
}

public static void main(string args[])
{
MyClass a,b;
a=new MyClass(); //st2
b=new MyClass(5); //st3
}

}

why error occurs at st3 instead of line st2 ?

4

1 回答 1

2

这个:

public void MyClass(long param)

声明了一个名为的方法MyClass,而我怀疑您想要一个构造函数。删除返回类型:

public MyClass(long param)

那时我怀疑你会得到你期望的行为。

我个人认为Java允许您声明与包含类型同名的方法是一个设计缺陷,但这是另一回事。

另请注意

main(string args[])

应该

main(String args[])

或更传统的:

main(String[] args)
于 2013-09-06T14:03:07.590 回答