我们先定义一个static的变量与普通变量
static String name;// 静态变量
Integer age;// 实例变量
public static void test1() {
System.out.println("我是静态类");
}
public void test2() {
System.out.println("我是普通类");
}
在测试类中调用
public static void main(String[] args) {
Demo1.name = "小明同学";
Demo1.test1();
Demo1 demo1 = new Demo1();
demo1.age = 21;
System.out.println(demo1.name);
demo1.test2();
demo1.test1();
}
可以得出静态变量或者方法可以直接通过类名来调用,而普通变量必须在创建实例对象之后在能调用,这是因为静态变量在程序加载了类的字节码,静态变量就会被分配空间,静态变量就可以被使用了。
而普通变量必须创建对象后才可以通过这个对象 来使用。
所以静态变量或者方法不能调用非静态的变量、方法,但是非静态的类可以调用静态的方法或者变量