一. 属性上:加上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("主方法执行"); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)