学习时间:
2020-11-25
学习内容:
一、static
这个关键字意为静态的。
二、static关键字的特点
a:随着类的加载而加载
b:优先于对象存在
c:被类的所有对象共享
举例:
某个班级的学生共用同一个班级编号。
我们可以得出一个简单的结论:
如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
举例:
饮水机(用静态修饰)
水杯(不能用静态修饰)
d:可以通过类名调用
其实它本身也可以通过对象名调用。
推荐使用类名调用。
静态修饰的内容一般我们称其为:与类相关的,类成员
三、static的注意事项
a:在静态方法中是没有this关键字的
静态是随着类的加载而加载,this是随着对象的创建而存在。
静态比对象先存在。
b:静态方法只能访问静态的成员变量和静态的成员方法
简单记:静态只能访问静态,非静态可以访问静态的也可以访问非静态的
以下面这段代码示例:
public class Test extends Base{
static{
System.out.println("test static");
}
public Test(){
System.out.println("test constructor");
}
public static void main(String[] args) {
new Test();
}
}
class Base{
static{
System.out.println("base static");
}
public Base(){
System.out.println("base constructor");
}
}
这个代码的运行结果是
base static
test static
base constructor
test constructor
可以看出 静态的东西是最先执行的