无法访问Java主方法内的局部变量

时间:2015-12-27 09:53:06

标签: java

public class A {
static void print(){
    int i=10;
    System.out.println("i="+i);
}
void show(){
    int j=20;
    System.out.println("j= "+j);
}
public static void main(String[] args) {
    int f=87;
    A a =new A();
    print();
    a.show();
    System.out.println(a.f); //compile error.
}

}

有人可以解释为什么i和j可以打印但是当i,j和f是方法中的局部变量时f会给出编译错误吗?谢谢大家的初步答复。

3 个答案:

答案 0 :(得分:4)

fmain方法中的局部变量,它不是A中的类级变量。

答案 1 :(得分:1)

像其他人回答f是本地的。要在class级别访问它,请执行以下操作:

public class A {

    private int f;

    public A(int _f) {
        f = _f;
    }

    public int getF() {
        return f;
    }

    public static void main(String[] args) {
        int ff = 87;
        A a = new A(ff);
        System.out.println(a.getF());
    }
}

答案 2 :(得分:0)

您似乎认为f是HTML类中的类级别(<label class="item item-input item-select"> <div class="input-label"> Style </div> <select ng-options="style as style.name for style in styles" ng-change="changeStyle(style)" ng-model="style"> </select> </label> )变量。这是有缺陷的;它是主函数中的局部变量。要在该方法中访问它并打印它,只需键入static,因为它在您的方法中。