静态块,代码块,构造方法的区别
来源:互联网 发布:淘宝折扣app哪个好 编辑:程序博客网 时间:2024/05/21 19:22
静态块:static{ }
代码块:{ }
构造块;类 对象 =new 类()
执行的顺序(优先级:静态块>代码块》构造块)
代码块:
public class Test{
public static void main(String args[]) Exception throws{
new Leaf();
new Leaf("ABC);
new Leaf();
}
}
//静态初始化块,构造块,构造方法(226-268)
class Root{
static {
System.out.println("Root1的静态初始化");
}
{
System.out.println("Root1的构造块");
}
public Root() {
System.out.println("Root1的构造方法");
}
}
class Mid extends Root{
static {
System.out.println("Mid的静态初始化");
}
{
System.out.println("Mid的构造块");
}
public Mid() {
//super();
System.out.println("Mid的构造方法");
}
}
class Leaf extends Mid{
static {
System.out.println("Leaf的静态初始化");
}
{
System.out.println("Leaf的构造块");
}
public Leaf() {
super();
System.out.println("Leaf的构造方法");
}
public Leaf(String msg) {
this();
System.out.println(msg);
}
}
总结:先加载类,在加载对象,有了类才能加载对象,先执行static静态块,在执行构造块,最后执行构造器·,再次执行时jvm(java虚拟机已经有了此类),不会再执行static静态块,直接执行代码块,构造块
运行结果:
Mid的静态初始化
Leaf的静态初始化
Root1的构造块
Root1的构造方法
Mid的构造块
Mid的构造方法
Leaf的构造块
Leaf的构造方法
Root1的构造块
Root1的构造方法
Mid的构造块
Mid的构造方法
Leaf的构造块
Leaf的构造方法
ABC
Root1的构造块
Root1的构造方法
Mid的构造块
Mid的构造方法
Leaf的构造块
Leaf的构造方法
- 静态块,代码块,构造方法的区别
- 静态代码块,构造代码块,构造方法三者的区别与联系
- ava中构造代码块、静态方法、静态代码块的区别
- 静态代码块和构造代码块的区别
- Java中静态代码块、构造代码块的区别
- 静态代码块、代码块、构造方法的执行顺序
- 静态块与构造代码块的区别
- 普通代码块 && 构造代码块 && 静态代码块区别
- java中静态代码块,构造代码块,静态代码块的区别
- Java的构造方法和构造代码块,静态代码块,代码块
- 静态代码块、构造代码块、局部代码块、构造方法的执行顺序
- java 静态代码块,构造代码块,构造方法,普通代码块的执行顺序
- Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例
- java中普通代码块,静态代码块,构造代码块的区别及代码示例
- Java EE学习笔记之——构造代码块、静态代码块、构造方法、方法的区别
- Java中普通代码块、构造代码块、静态代码块的区别
- java中普通代码块、构造代码块、静态代码块的区别
- Java中局部代码块、构造代码块、静态代码块的区别?
- javascript中的定时方法
- Hadoop在linux系统下的集群时间同步
- Volley源码学习
- C++11新特性之新类型与初始化
- hdu1281棋盘游戏(二分图匹配+枚举)
- 静态块,代码块,构造方法的区别
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
- cocospod遇到的问题
- iOS开发runtime给工程所有UITextfield属性赋初值
- CodeForces 447B DZY Loves Strings
- DES 数据加密
- 正经的文件类型——特殊嗬
- idea常用的快捷键
- 为什么要分页加载