zoukankan
html css js c++ java
一个研究java迭代类初始化顺序的程序
package
base;
abstract
class
base
{
public
int
age
=
getNumber(
100
);
static
{
System.out.println(
"
base static block
"
);
}
{
System.out.println(
"
base nonstatic block
"
);
}
static
int
sage
=
getNumber(
50
);
base()
{
System.out.println(age);
System.out.println(
"
base start
"
);
draw();
//
会调用子类覆盖后的方法
System.out.println(
"
base end
"
);
}
static
int
getNumber(
int
base)
{
System.out.println(
"
base.getNumber int
"
+
base);
return
base;
}
public
void
draw()
{
System.out.println(
"
base.draw
"
);
}
}
public
class
initializeOrder
extends
base
{
public
int
age
=
getNumber(
1001
);
private
int
_radius
=
getNumber(
10
);
static
int
sage
=
getNumber(
250
);
static
{
System.out.println(
"
subclass static block
"
);
}
{
System.out.println(
"
subclass nonstatic block
"
);
}
initializeOrder(
int
radius)
{
_radius
=
radius;
System.out.println(age);
System.out.println(
"
initializeOrder initialized
"
);
}
public
void
draw()
{
System.out.println(
"
initializeOrder.draw
"
+
_radius);
}
/** */
/**
*
@param
args
*/
public
static
void
main(String[] args)
{
//
TODO Auto-generated method stub
new
initializeOrder(
1000
);
}
/**/
/*
总结:
1、类只有在使用New调用创建的时候才会被JAVA类装载器装入
2、JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的
静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同
先初始化父类的静态代码--->初始化子类的静态代码-->
初始化父类的非静态代码--->初始化父类构造函数--->
初始化子类非静态代码--->初始化子类构造函数
3、创建类实例时,首先按照父子继承关系进行初始化
4、类实例创建时候,首先初始化块部分先执行,然后是构造方法;然后从
本类继承的子类的初始化块执行,最后是子类的构造方法
5、类消除时候,首先消除子类部分,再消除父类部分
*/
}
查看全文
相关阅读:
H3C ER6300 + 两台 H3C S5120 组网举例
H3C S5120-52P-WiNet交换机配置
H3C S5120清除console口密码
光纤简介
Windows server 2008 R2 多用户远程桌面
AutoIt 软件自动化操作
windows server 2008 R2 计划任务备份系统
AD域部署使用bginfo软件
使用WSL吧
Could not load file or assembly……
原文地址:https://www.cnblogs.com/Finding2013/p/243132.html
最新文章
MySQL 错误1418 的原因分析及解决方法
批量操作mysql数据库表
将Redis设置为后台启动
[转]关于ios 推送功能的终极解决
netty实现多个handler顺序调用
Lua Linux环境下安装
Communications link failure due to underlying exception异常处理(转)
Eclipse插件的安装(手动安装),以安装SVN插件和中文语言包为例
mysql 海量数据的存储和访问解决方案
一致性hash算法
热门文章
浅析Mysql的my.ini文件
高并发系统数据库设计
MySQL内存表的特性与使用介绍
测试
Linux 目录结构_004
Cisco NTP配置
Cisco VLAN ACL配置
Cisco DHCP Snooping + IPSG 功能实现
Cisco HSRP热备份路由器协议配置
Cisco VTP中继协议配置
Copyright © 2011-2022 走看看