静态关键字static
一. 属性上:加上static的属性是类属性,静态属性(存在数据共享区)。 类属性的特点: 1.类属性的访问可以通过 类名.类属性, 还可以通过对象来访问。 2.类属性的当前的class文件加载进入jvm类属性就被初始化, jvm执行完毕后,当前class文件出了jvm,类型属性也就消失了。 3.类属性可以被这个类的每一个对象共享 二. 方法上:static修饰在方法上就是类方法。 类方法的特点: 1.类方法的访问可以通过 类名.类方法, 还可以通过对象来访问。 2.类方法的当前的class文件加载进入jvm类方法就被初始化, jvm执行完毕。当前class文件出了jvm,类型方法也就消失了。 3.对象方法和类方法都是被对象共享。 类方法初始化很早jvm加载这个类的时候这个方法就初始化了.对象方法也是早早的就进入jvm了,但是不一定被启用了,只有先创建了对象,才有可能使用这个方法。 4.类方法不能访问对象属性和对象方法(类方法只能访问类属性和类方法) 5.对象方法内可以访问对象属性,对象方法,类属性,类方法。 6.类方法最常见的应用场景就是工具类的定义。 4. 静态代码块: 1.静态代码块主要是用于初始化资源。 2.静态代码块在main之前执行。 3.静态代码块可以访问类属性(必须先定义)和类方法
public class TestStatic{
String name;
public void method(){
}
static int age;
public static void method1(){
System.out.println("静态方法被调用了");
}
//不能访问对象属性和方法
static{
System.out.println("静态代码块被执行了");
System.out.println(age);
method1();
}
public static void main(String[] args){
System.out.println("主方法执行");
}
}
|