一个方法可以被同一个类内的对象调用吗?

use*_*596 -1 java

我试图理解的是当我尝试在同一个类中居住时调用对象的方法时,我收到错误的原因.

我的语法看起来正确.我理解方法内部的局部变量是未初始化的,并且想看看编译器是否能够选择它.

然而,我的问题是,当我尝试在类中的同一个类的对象上调用该方法时,我从编译器收到一个愚蠢的错误.

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
Run Code Online (Sandbox Code Playgroud)

我从编译器收到的错误是:

c Wool.java
Wool.java:5: ';' expected
int add() {
    ^
Run Code Online (Sandbox Code Playgroud)

如果Wool类型的对象在另一个类中实例化,并且该对象在调用该方法时没有问题,我可以做到以上情况,向我展示局部变量在该方法中需要值的编译错误.

我只是不明白为什么我不能在一堂课中做到这一点.如果有可能,请你教育我.

帮助将非常感激.

谢谢.

Den*_*ret 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
Run Code Online (Sandbox Code Playgroud)