What will happen when you compile and run the following code?public class MyClass
{
static int x;
public static void main(String args[])
{
x = 5;
MyClass m1 = new MyClass();
MyClass m2 = new MyClass();
MyClass m3 = new MyClass(); m1.x = 10;
m2.x = 20;
m3.x = 30; System.out.println(m1.x);
System.out.println(m2.x);
System.out.println(m3.x); }
}
{
static int x;
public static void main(String args[])
{
x = 5;
MyClass m1 = new MyClass();
MyClass m2 = new MyClass();
MyClass m3 = new MyClass(); m1.x = 10;
m2.x = 20;
m3.x = 30; System.out.println(m1.x);
System.out.println(m2.x);
System.out.println(m3.x); }
}
30
30static 变量,所有实例共享一份!
30
30
30
这是JAVA基础的一个知识点,比较重要的!
所有实例都共享static变量的,跟全局变量差不多似的
{
int x;
public static void main(String args[])
{
x = 5;//这一句不去掉,为什么会出错呢?这是什麽错误呢?
MyClass m1 = new MyClass();
MyClass m2 = new MyClass();
MyClass m3 = new MyClass(); m1.x = 10;
m2.x = 20;
m3.x = 30; System.out.println(m1.x);
System.out.println(m2.x);
System.out.println(m3.x); }
}