我对此感到尴尬,而且我只是忘记了简单的事情。
如果这是body.java
public class body{
public static void main(String args[])
{
int i = 0;
part aPart = new part(i);
aPart.add();
}
}
这是part.java
public class part{
private int i;
public int part(int i)
{
this.i = i+10;
}
public add ()
{
i = i++;
System.out.println(i);
}
为什么当我运行javac来编译body.java时,它会说部分的未知符号?
答案 0 :(得分:4)
因为part是你的构造函数(你没有声明返回类型为@amir在他的回答中说)。你应该做
public part(int i) {...}
作为一个注释,Java约定是将类名称大写,因此您应该将文件更改为Part.java,将类声明更改为“Part”,并将构造函数更改为...
编辑 - @coolbeans答案也是正确的 - 如果问题中的代码是正确的,那么你就错过了一个结束括号。
答案 1 :(得分:1)
javac *.java
?
答案 2 :(得分:1)
更改您的Part类,如下所示: -
public class Part{
private int i;
public Part(int i)
{
this.i = i+10;
}
public void add()
{
i = i++;
System.out.println(i);
}
}
并以这种方式称呼: -
int i = 0;
Part aPart = new Part(i);
aPart.add();
答案 3 :(得分:0)
详细说明hvgotcodes所说的,构造函数没有返回类型。 Java类的构造函数不是普通方法。它的唯一目的是实例化它所属的类的对象。
答案 4 :(得分:0)
您需要声明构造函数
public part(int i) {
this.i = i;
}