Java类中静态方法和静态变量,静态代码块,构造方法执行顺序

createh55个月前 (01-07)技术教程81

一,Java类执行顺序

子类:ATest

父类:AParentTest

直接调用静态方法

第一种:当直接调用(没有new对象)静态方法时候:父类静态变量(按照顺序)执行----->子类静态变量(按照顺序)----->父类静态代码块------>子类静态代码块--------->执行方法执行。

new对象创建

第二种创建对象:执行父类静态代码---->执行子类的静态代码---->执行父类构造方法----->执行子类的构造方法(注:@PostConstruct修饰的方法是在构造方法之后执行的)

注:静态变量和静态代码块都是按照代码书写顺序执行的,对于静态代码块只要是操作(调用静态方法或者新建一个类等)这个类就会执行(包括静态变量)

二,说明

对于java类的执行顺序,我们可以通过测试了解现象,通过现象意会结果,这还可以帮助我们更好的理解一些执行顺序,不至于看到一些源码,不懂里面执行的逻辑

相关文章

Java:什么是静态代理?什么是动态代理?二者有何区别?

推荐学习微服务架构秘籍:SpringCloud+SpringCloud Alibaba,全网疯传肝了30天,整出这份[分布式宝典:限流+缓存+通讯],秋招跳槽有望听说你很懂源码?Spring读懂了?还...

阿里Java三面:分布式延时任务方案解析,万字长文一篇点通你

前言在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,...

搞懂Java三种代理模式:静态代理、动态代理和cglib代理

Java静态代理Java中的静态代理是一种设计模式,它通过创建一个代理类来代替原始类,从而控制对原始类的访问。代理类和原始类都实现相同的接口,使得客户端在使用时无需关心具体的实现细节。静态代理在编译时...

9分钟带你搞懂代理模式、静态代理、JDK+CGLIB动态代理

目录:1. 代理模式2. 静态代理3. 动态代理3.1. JDK 动态代理机制3.2. CGLIB 动态代理机制3.3. JDK 动态代理和 CGLIB 动态代理对比4. 静态代理和动态代理的对比5....

Java反射原理和实际用法

Java反射原理和实际用法背景反射在Java中非常重要,是Java区别于其他编程语言的一大特性。Java中的AOP切面、动态代理等看起来像黑魔法一样的技术,就离不开反射、字节码等。这些技术能在不侵入原...

java中线程同步的几种方法

方法一:使用synchronized关键字由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。注: synchro...