static关键字

来源:互联网 发布:windows 10未正确启动 编辑:程序博客网 时间:2024/06/11 11:54


1.static修饰的变量

1.1 static修饰的变量共享,且类变量在类加载的时候初始化,而且只被初始化一次

1.2 final+static修饰的叫静态常量,属性值不可变,名称习惯大写

2.static修饰的景静态方法

2.1 只能调用其他的static 方法,不能调用普通方法

2.2 它们只能访问static数据。

2.3 它们不能以任何方式引用this 或super。

2,4 static方法能通过“类名.方法名”直接调用,不需要通过对象实例调用

3、修饰Java代码块:
用static去修饰类里面的一个独立的代码块,称为静态代码块。主要用来完成初始化操作。静态代码块在类第一次被加载的时候执行,而且只执行一次。静态代码块没有名字,不能显式调用,只在类加载的时候由虚拟机来调用。


注意:

当JVM运行时,在JVM装载class文件到JVM内存的过程中,static的属性和static代码块会依次执行,static方法会被加载到方法区 (堆存放对象本身,栈存放对象的内存地址(对象的引用)和八大基本变量,方法区存放方法和静态变量)

当创建一个类的对象时,首先非静态代码块和非静态属性[成员属性]依次执行,非静态方法[成员方法]会被加载到方法区,然后执行构造方法得到对象。 (对象初始化也是一次,当第二次创建对象,JVM会根据内存中的已加载类的信息创建对象)

0 0
原创粉丝点击