java static加载顺序
个人学习总结:
1.含有static的静态代码块和类变量先执行,执行一次之后就不再需要加载,静态代码块和类变量没有特定的先后顺序,按照代码顺序执行
2.如果类之间存在继承关系,先加载父,在加载子的内容
3.单独一个类的加载顺序应该是,静态代码块(类变量)--------成员变量-----------构造方法
注:静态方法是调用才会执行
测试代码:
public class Girl {Person person = new Person("Girl");static{System.out.println("Girl static");}static Person staticPerson = new Person("GirlStaticPerson");public Girl() {System.out.println("Girl constructor");}public static void main(String[] args) {new MyGirlFriend();}
}
class Person{static{System.out.println("person static");}static Person staticPerson = new Person("PersonStaticPerson");public Person(String str) {System.out.println("person "+str);}
}
class MyGirlFriend extends Girl {Person person = new Person("MyGirlFriend");static Person myStaticPerson = new Person("MyStaticPerson");static{System.out.println("MyGirlFriend static");}public MyGirlFriend() {System.out.println("MyGirlFriend constructor");}}
输出结果:
Girl static
person static
person PersonStaticPerson
person GirlStaticPerson
person MyStaticPerson
MyGirlFriend static
person Girl
Girl constructor
person MyGirlFriend
MyGirlFriend constructor
学习下方博客,感觉他对加载顺序总结的很好:先静后非,先父后子,先块后器。
个人学习记录,如有侵权,会主动删除该文章。
参考资源:java static 加载顺序_一个例子搞清楚Java类加载顺序_愿水长流的博客-CSDN博客
java static加载顺序相关推荐
- Java基础:Java代码加载顺序
Java代码加载顺序 代码块 类加载和初始化相关案例一 案例二 深度加载知识 静态变量 内部类中不能定义静态变量 代码块 项目 Value 作用 局部代码块 在main方法里面 给变量限定声明周期,局 ...
- JAVA方法加载顺序
JAVA方法加载顺序 类加载机制 类加载器的任务就是根据一个类的全限定名来读取次类的二进制字节流到JVM转换成 java.lang,class类 类加载过程:加载.验证.准备.解析和初始化. 双亲委托 ...
- java静态方法加载顺序_java中类以及方法的加载顺序
先看下面的代码: public class Test { public static int a =0 ; static { a = 10; System.out.println("静态代码 ...
- java枚举加载顺序_java 中类的加载顺序(转)
1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始 ...
- java 启动加载顺序_Java 程序的加载运行过程 | 学步园
为了叙述方便,我写了个小例子 class Three{ private static int s3 = getS3(); private int y = getY(); public Three(){ ...
- Java-Day11 面向对象遍程的入门 (类属性的默认值、构造方法、类的成员、static关键字、类的成员加载顺序、Java(权限)访问修饰符)
目录 1. 类的属性的默认值问题 2. 构造方法(Constructor) 3. 类的成员 3.1 类的成员之一:属性 3.2 UML类图 4. static关键字 5. 类的成员加载(运行)顺序 6 ...
- Java static作用及加载顺序
在java中,static可以修饰成员变量.成员方法.代码块.内部类. static修饰成员变量,可以达到全局变量的效果(Java没有全局变量的概念),当一个类定义了static变量,其实就是申请一个 ...
- Java 类中各成分加载顺序和内存中的存放位置
一.什么时候会加载类? 使用到类中的内容时加载:有三种情况 1.创建对象:new StaticCode(); 2.使用类中的静态成员:StaticCode.num=9; StaticCode.show ...
- java中静态变量,静态代码块,静态方法,实例变量,匿名代码块的加载顺序
1. java中静态变量,静态代码块,静态方法,实例变量,匿名代码块 在Java中,使用{}括起来的代码称为代码块,代码块可以分为以下四种: (1)普通代码块:就是类中方法的方法体 public vo ...
最新文章
- 修改u-charts的点的大小和线的粗细
- SSH方式连接Git服务器需要注意的地方
- JAVA并发编程实战---第三章:对象的共享
- ifstream eof()函数
- 爬虫开发10.scrapy框架之日志等级和请求传参
- 还是贪心(结构体排序)
- server数据库与oracle,浅析Oracle和SQL Server-数据库专栏,ORACLE
- 第3关:HDFS-JAVA接口之上传文件
- linux shell 解析文本文件,linux Shell 全解析
- HttpClient详解
- 一小时做出Java实战项目——飞翔的小鸟
- 微软说:麻将AI系统终获突破,人工智能商学院来啦!
- 十年经验教你如何学习嵌入式
- JAVA高级工程师知识树
- python计算相关性系数
- 陷波滤波器——周期性降噪
- 2019年深度学习自然语言处理最新十大发展趋势
- C# wherewhereif
- riscv-amo原子指令
- SQL 查询当前时间
热门文章
- harmonyos20官网,harmonyos 2.0-harmonyos 2.0系统官方预约 v1.0-优盘手机站
- 哪里有平面设计培训学校,平面设计培训学校那家好?:夏雨老师
- [转]《101个爱情故事》 1
- r语言 read_html,R语言外部数据读取(示例代码)
- Echarts 在柱形图上加横线,设置基准线,自定义tooltip
- leetcode - LCP 42. 玩具套圈 -二分 -坐标映射 -区间查找 - 坐标范围快速查找
- MySQL中tinytext、text、mediumtext和longtext等各个类型详解
- 【bug 简单处理】
- 最新JS判断是否是360浏览器方法
- 字体标签<font>.......</font>