Java 同一类中的对象能否调用方法?
我试图理解的是,当我试图在同一个类中通过对象调用方法时,为什么会收到错误 我的语法看起来正确。我知道方法中的局部变量是未初始化的,我想看看编译器是否能够处理这个问题 然而,我的问题是,当我试图在类内的同一个类的对象上调用该方法时,我从编译器那里收到了一个愚蠢的错误Java 同一类中的对象能否调用方法?,java,Java,我试图理解的是,当我试图在同一个类中通过对象调用方法时,为什么会收到错误 我的语法看起来正确。我知道方法中的局部变量是未初始化的,我想看看编译器是否能够处理这个问题 然而,我的问题是,当我试图在类内的同一个类的对象上调用该方法时,我从编译器那里收到了一个愚蠢的错误 class Wool { public static void main (String [] args) { int add() { int x; int a = x + 3; return a; } Wool w = ne
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类型的对象在另一个类中实例化,并且该对象在调用该方法时没有问题,那么我可以做得很好,以显示编译错误,即局部变量需要该方法中的值
我只是不明白为什么我不能在一节课上完成。如果可能的话,请你教育我
我将非常感激你的帮助
谢谢。您不能在另一个方法中定义方法。必须在
main
方法之外声明add
方法
将代码更改为
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
您正在
main()
中声明一个方法。你不能那样做
方法必须在类内声明,而不是在其他方法内声明。因为add()
未定义为类方法,但您在main
中将其定义为“本地”方法,这在java
中是不允许的。你必须把它改成
class Woo{
void add(){
....
}
public static void main(String[] args){
new Woo().add();
...
}
}
您有一个直接位于方法内部的方法:
main(){
add() {
}
}
这在java中是非法的。将方法add放在类的主体中,而不是放在主方法的主体中。或者更好:不要使用Java:)您不能在方法中声明方法 试试这个:
public static void main (String[] arts) {
//
}
int add() {
//
}
为什么要在另一个方法中定义一个方法?java的可能副本不支持在方法中定义方法声明。感谢您的回答:)这会被称为错误吗^^