AJPFX关于面向对象中的对象初始化整理,综合子父类、代码块等等
2024-10-20 01:23:24
今天总结了一下子父类当中含有静态代码块、代码块、构造函数、成员变量、子类复写父类方法时子类的初始化过程,把思路理清一下
- class Fu
- {
- //父类成员变量
- private int num = 3;
- //静态代码块,随着类的加载而加载
- static{
- System.out.println("父类静态代码块");
- }
- //代码块,运行于构造函数之前,成员变量显示初始化之后
- {
- System.out.println("父类代码块,num = "+num);
- }
- //构造函数,先去找他爸爸,运行完父类再运行子类
- Fu(){
- super();//此处去找Object,可忽略
- System.out.println("父类构造函数,num = "+num);
- //此处调用的是子类的show方法,因为被覆盖了,注意子类覆盖父类方法时,返回值也得一样
- show();
- }
- public void show()
- {
- System.out.println("父类show方法,num = "+num);
- }
- }
- class Demo extends Fu
- {
- private int age =23;
- //静态代码块,他有直接父类时,先去加载直接父类
- static{
- System.out.println("子类静态代码块");
- }
- //构造代码块,当有直接父类时,当父类运行完毕才轮到构造代码块
- {
- System.out.println("子类代码块,age = "+age);
- }
- Demo()
- {
- System.out.println("子类构造函数,age = "+age);
- show();
- }
- public void show()
- {
- System.out.println("子类show方法,age = "+age);
- }
- public static void main(String[] args)throws IOException
- {
- new Demo();
- }
- /*
- * 父类静态代码块
- 子类静态代码块
- 父类代码块,num = 3
- 父类构造函数,num = 3
- 子类show方法,age = 0
- 子类代码块,age = 23
- 子类构造函数,age = 23
- 子类show方法,age = 23
- * */
- }
总结一下:
1.父类字节码先被JVM加载,父类静态代码块先运行。
2.子类字节码被加载,子类静态代码块运行。
3.子类构造函数进栈,子类的成员变量默认初始化
4.super启动,父类构造函数进栈,父类成员变量默认初始化(super-->Object,可忽略)
5.父类成员变量显示初始化
6.父类构造代码块加载
7.父类构造函数运行。
8.子类成员变量显示初始化
9.子类构造代码块运行。
10.子类构造函数运行
最新文章
- C/C++的基本数据类型
- Daikon Forge GUI Library(dfgui)之Event Binding
- PHP eof的使用
- 锋利的jQuery-7--$.extend()
- int和char的相同和不同。
- 20160127 linux 学习笔记
- Linux04--文本编辑器vim
- redis数据库安装及简单的增删改查
- pip install在Windows下报错解决
- [TJOI 2013]单词
- MVC Scaffolding SmartCode-Engine 更新
- Redhat安装Oracle 11g (转)
- Day05 (黑客成长日记) 文件操作系列
- ASP.NET 配置log4net启用写错误日志功能
- MacOS下安装小米SQL优化工具soar
- POJ 3122 Pie【二分答案】
- VMware虚拟机屏幕大小只有400,800怎么办如何解决
- unity-----------------------四元数与欧拉旋转方法
- CentOS 7 下编译安装lnmp之MySQL篇详解
- 第四章 Spring.Net 如何管理您的类___对象、对象工厂和应用程序上下文
热门文章
- oracle获取字符串长度函数length()和lengthb()
- 【转载】HTTP协议与WEB本质
- Android反复闹钟(每天)的实现
- NS3网络仿真(9): 构建以太网帧
- 卸载ubuntu自带openJDK,更改成自己的JDK版本
- method.invoke()使用
- HDU1269 迷宫城堡 —— 强连通分量
- [SCOI 2007] 修车
- 【转】Echarts的使用以及动态加载数据
- VS2012上添加SharePoint2013模板,SharePoint2013 Tool安装配置