静态方法和非静态变量
Posted zhuyeshen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态方法和非静态变量相关的知识,希望对你有一定的参考价值。
1
2
3
4
5
6
7
8
|
public class Test
public int x; public static void main(String []args)
System. out. println( "Value is" + x);
|
对于上面这段代码,以下说法正确的是:
正确答案: C 你的答案: D (错误)
A程序会打出 "Value is 0"
B程序会抛出 NullPointerException
C非静态变量不能够被静态方法引用
D编译器会抛出 "possible reference before assignment"的错误
答案解析:
当类加载时,static静态方法随着类加载而初始化,此时实例对象还未被创建,但是非静态成员变量需要等到实例对象创建才会被初始化,故无法被引用。
静态方法先行执行,导致变量x还未被初始化,所以编译出错
以上是关于静态方法和非静态变量的主要内容,如果未能解决你的问题,请参考以下文章