static静态
static应用范围:可用于内部类、方法和变量。
是一个修饰符,用来修饰变量、方法没有被static修饰的对象称为实例变量
静态变量,则该变量在内存中有不变的位置,相当于全局变量
所有类的实例都访问同一个存储变量区域
对其修改对于所有类的实例来说都是可见和一致的
静态变量前要加static关键字
静态变量不属于某个实例对象,而是属于类,所以也称为类变量
只要程序加载了类的字节码,不用创建任何实例对象
静态变量就会被分配空间,静态变量就可以被使用了
实例变量
实例变量必须创建对象后才可以通过这个对象来使用
静态变量则可以直接使用类名来引用
实例变量属于某个对象的属性
必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量
静态方法
被所在类的所有实例公用
在类装载时被首先执行,main为静态的
执行一次即被所有该类的实例共享,
static方法内部只能引用static变量static方法不能被子类重写为非static方法。
父类的非static方法不能被子类重写为static方法
static方法可以再子类中重名,但是没有实现多态
静态方法中不能使用this、super
Public static void print(){}
表明此类方法为类方法(静态方法)
静态方法不需要有对象,可以使用类名调用
static代码块可以用static {}来完成,在类被第一次装载时执行初始化
一般静态代码块被用来初始化静态成员。
先于静态方法和其他方法的执行。
一般情况下,主方法是静态方法,所以可调用静态方法,主方法为静态方法是
因为它是整个软件系统的入口,而进入入口时系统中没有任何对象,只能使用
类调用。
没有特殊操作的方法一般定义为静态的,调用时方便。
一般情况下,主方法是静态方法,所以可调用静态方法,主方法为静态方法是
因为它是整个软件系统的入口,而进入入口时系统中没有任何对象,只能使用
类调用。