我想要了解的是当我尝试在同一个类中居住时调用对象的方法时,我收到错误的原因。
我的语法看起来正确。我理解方法内部的局部变量是未初始化的,并希望看看编译器是否能够选择它。
我的问题是,当我尝试在类中的同一个类的对象上调用该方法时,我从编译器收到一个愚蠢的错误。
class Wool {
public static void main (String [] args) {
int add() {
int x;
int a = x + 3;
return a;
}
Wool w = new Wool ();
System.out.print("something here " + w.add());
} // end main
} // end class
我从编译器收到的错误是:
c Wool.java
Wool.java:5: ';' expected
int add() {
^
如果Wool类型的对象在另一个类中实例化,并且该对象在调用该方法时没有问题,我可以做到以上情况,向我展示局部变量在该方法中需要值的编译错误。
我只是不明白为什么我不能在一堂课中做到这一点。如果有可能,请你教育我。
帮助将非常感激。
谢谢。
答案 0 :(得分:5)
您无法在另一个方法中定义方法。您必须在add
方法之外声明main
方法。
将您的代码更改为
class Wool {
int add() {
int x = 0; // give a value to avoid another error
int a = x + 3;
return a;
}
public static void main (String [] args) {
Wool w = new Wool ();
System.out.print("something here " + w.add());
} // end main
} // end class
答案 1 :(得分:0)
您在main()
内声明了一个方法。你不能这样做。
必须在类内部声明方法,而不是在其他方法中声明。
答案 2 :(得分:0)
由于add()
未定义为类方法,但您在main
中将其定义为“本地”方法,java
中不允许这样做。您必须将其更改为
class Woo{
void add(){
....
}
public static void main(String[] args){
new Woo().add();
...
}
}
答案 3 :(得分:0)
您在方法中直接使用方法:
main(){
add() {
}
}
这在java中是非法的。
答案 4 :(得分:0)
将您的方法添加到类的主体中,但不要添加到方法主体的主体中。或者更好:让Java独自:)
答案 5 :(得分:0)
您无法在方法中声明方法。
试试这个:
public static void main (String[] arts) {
//
}
int add() {
//
}