当前位置: 首页 > news >正文

Java类的初始化顺序

Java类的初始化顺序

先初始化类中的非static成员,再初始化static成员。两种成员都按照定义的顺序进行初始化。

对于static成员,无论定义了多少个对象,其中的static成员只会初始化一次。

类中的成员初始化完毕之后,开始执行类的构造器。

类中的方法是最后被初始化的。

public class StaticInitialization {public static void main(String[] args) {System.out.println("main creating new Cupboard()");Cupboard cupboard=new Cupboard();System.out.println("main creating new Cupboard()");new Cupboard();}//定义两个静态的成员,先于main函数初始化static Table table = new Table();static Cupboard cupboard = new Cupboard();
}class Bowl {Bowl(int marker){System.out.println("Bowl(" + marker + ")");}void f1(int marker) {System.out.println("f1(" + marker + ")");}
}class Table {static Bowl bowl1=new Bowl(1);Table() {System.out.println("Table()");bowl2.f1(1);}void f2(int marker) {System.out.println("f2(" + marker + ")");}static Bowl bowl2=new Bowl(2);
}class Cupboard {//定义非静态成员Bowl bowl3=new Bowl(3);static Bowl bowl4=new Bowl(4);Cupboard() {System.out.println("Cupboard()");bowl4.f1(2);}void f3(int marker) {System.out.println("f3(" + marker + ")");}static  Bowl bowl5=new Bowl(5);
}

最后输出:

Bowl(1)
Bowl(2)
Table()
f1(1)
Bowl(4)
Bowl(5)
Bowl(3)
Cupboard()
f1(2)
main creating new Cupboard()
Bowl(3)
Cupboard()
f1(2)
main creating new Cupboard()
Bowl(3)
Cupboard()
f1(2)
http://www.dtcms.com/a/362152.html

相关文章:

  • 问题解决方法:qt的设计师页面怎么开启scroll area组件的滚轮功能
  • 【ElasticSearch实用篇-04】Boost权重底层原理和基本使用
  • 机器学习入门,非线性模型的预测方法之多项式
  • 后端笔试题-多线程JUC相关
  • M13 噬菌体展示技术:载体与结构深度解析
  • Git软件版本控制
  • 贵州在假期及夏天结束后保持旅游活力的策略分析
  • elasticsearch中文分词器analysis-ik使用
  • 《山东棒球》板球比赛规则·棒球1号位
  • c语言2:关于变量
  • Robomaster电机控制和serialplot串口绘图(通用)
  • 定时器设计之->分级时间轮
  • Kubernetes 中根据 Pod IP 查找 Pod 及关联服务的方法
  • 蜂窝物联网模组:电动两轮车新国标实施下的关乎安全与智能化支撑
  • 车辆轨迹数据实时同步方案:从 “定时轮询” 到 “消息驱动” 的升级实践
  • Qt Widgets 之 QAbstractButton
  • UCIE Specification详解(十一)
  • 传输层TCP 与 安全层SSL/TLS
  • 【运维篇第四弹】《详解读写分离》什么是读写分离?如何配置一主一从读写分离以及双主双从读写分离?都会在这一篇文章中掌握
  • The Algorithmic Foundations of Differential Privacy - 1
  • 初识JVM
  • Linux之Docker虚拟化技术(三)
  • STM32项目分享:基于单片机的图书馆座位监测系统
  • docker-nacos-v3
  • 告别发票山,拥抱高效流:一位财务经理的“解放”宣言
  • 第四次工业革命简史:从图灵测试到ChatGPT的AI革命
  • ModelScope 开发环境配置指南
  • leetcode笔记
  • OpenCV轻松入门_面向python(第四章色彩空间类型转换)
  • 从全栈开发到微服务架构:一次真实面试的深度解析