String name = "Marcus";
static String s_name = "Peter";
public static void main(String[] args) {
System.out.println(name);//ERROR
System.out.println(s_name);//OK
}
Run Code Online (Sandbox Code Playgroud)
错误:无法对非静态字段名称进行静态引用
导致问题的原因main是静态方法,这意味着它没有接收器对象.换句话说,它不会相对于某个对象运行.因此,如果您尝试查找非静态字段,那么Java会对该字段所在的对象感到困惑.通常,它会假设该字段位于调用该方法的对象中,但因为main该对象是静态的不存在.
作为一般规则,您无法从静态方法访问常规实例变量.
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |