楼主:首先
static :被static修饰符修饰的变量是全局的变量,也就是
这个变量会随着类的加载而加载,不需要通过创建对象来
调用这个变量,通常我们会把共同的属性作为静态的,
例如:我们定义person类,有姓名和国家属性
加入都是中国的,我们可以把国家的属性"CN"
用static修饰
class Person
{
String name;
static String country="CN";
public static void show_1()
{
System.out.println("country="+country);
}
public static void show_2()
{
System.out.println("name="+name);
}
}
class Demo
{
public static void main(String[] args)
{
Person.show_1(); //编译运行通过
Person.show_2(); //编译不通过
}
}
上面的show_1和show_2方法都有static静态修饰,
所以可以直接用类名调用,不用创建对象
但是我们发现show_2方法打印的是name,而name
不是静态的变量,所以必须要通过创建对象才能调用
所以第二个编译失败 |