黑马程序员技术交流社区
标题:
关于Java各部分的加载顺序
[打印本页]
作者:
秋色潇湘
时间:
2015-11-7 17:13
标题:
关于Java各部分的加载顺序
class Show {
public Show(String s) {
System.out.println("初始化:"+s);
System.out.println("-------");
}
}
class Father {
static {
Show s2 = new Show("父类静态代码块");
}
static Show s7 = new Show("父类静态成员变量");
{
Show s4 = new Show("父类构造代码块");
}
Show s = new Show("父类成员变量");
public Father() {
Show s5 = new Show("父类构造方法");
}
}
class Son extends Father {
static Show s7 = new Show("子类静态成员变量");
static {
Show s1 = new Show("子类静态代码块");
}
Show s = new Show("子类成员变量");
{
Show s4 = new Show("子类构造代码块");
}
public Son() {
Show s6 = new Show("子类构造方法");
}
}
public class InitializeOrderDemo {
static {
Show s3 = new Show("主类静态代码块");
}
static Show s1 = new Show("主类静态成员变量");
{
Show s4 = new Show("主类构造代码块"); //不new主类不会访问
}
Show s2 = new Show("主类成员变量"); //不new主类不会访问
public static void main(String[] args) {
Son s = new Son();
}
}
//成员变量初始化和运行代码块的级别一样,看谁在前
/*
初始化:主类静态成员变量
-------
初始化:主类静态代码块
-------
初始化:父类静态成员变量
-------
初始化:父类静态代码块
-------
初始化:子类静态成员变量
-------
初始化:子类静态代码块
-------
初始化:父类构造代码块
-------
初始化:父类成员变量
-------
初始化:父类构造方法
-------
初始化:子类构造代码块
-------
初始化:子类成员变量
-------
初始化:子类构造方法
-------
请按任意键继续. . .
*/
复制代码
怕明天考试没时间发帖了,加载顺序这章总结的小代码也发一下~ 希望大家多多支持~ 喜欢的话多顶,我还会继续写总结
作者:
秋色潇湘
时间:
2015-11-7 17:15
照例自坐沙发~ 我顶顶顶~
作者:
秋色潇湘
时间:
2015-11-7 17:16
这个只是分析dos命令行下运行main方法,各部分的加载顺序,实际项目中的顺序可以类推分析
作者:
zhou8351104
时间:
2015-11-7 17:26
明了 ~~~~~~~~~··
作者:
ゞ神说
时间:
2015-11-7 18:38
学习学习
作者:
shadowmmm
时间:
2015-11-7 18:39
组长棒棒哒
作者:
LOVE毛豆豆
时间:
2015-11-7 21:15
涨姿势了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2