static 的特点:可以修饰成员变量和成员方法
非静态方法可以访问静态方法和静态变量,反之不行.
静态方法只能访问静态变量和静态方法,
静态方法中没有this
被类的所有对象共享
静态变量可以通过类名调用,也可以通过对象名调用
静态方法和变量随着类的加载而加载,比对象先存在
静态修饰的内容一般我们称其为:类成员
静态方法想访问非静态方法需要创建该类的实例对象,用实例对象就可以访问.
static变量可以通过类名直接调用例:
class StaticDemo{
public static void main(String[] args){
System.out.println(Test.a);
}
}
class Test{
static int a = 10;
}
static关键字方法,无法从静态上下文中引用非静态变量
例:
class Teacher{
private int a = 10;
public static void test(){
System.out.println(a); // 等于this.a 静态方法中没有this
}
}