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会给出编译错误吗?谢谢大家的初步答复。
答案 0 :(得分:4)
f
是main
方法中的局部变量,它不是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
,因为它在您的方法中。