java 字父类 构造方法 代码块 加载顺序
来源:互联网 发布:java 单例 并发多线程 编辑:程序博客网 时间:2024/06/09 06:03
public class Demo {
{
System.out.println("我是demo的内部代码块");
System.out.println("我是demo的内部静态代码块");
}
public Demo() {
System.out.println("我是demo的构造方法");
}
static class test3 {
{
System.out.println("我是test3的内部静态类代码块");
}
static {
System.out.println("我是test3的内部静态类的静态代码块");
System.out.println("我是test3内部静态类的构造方法");
}
}
}
class Test extends Demo {
static {
System.out.println("我是test方法的静态代码块");
}
public Test() {
System.out.println("我是Test方法的构造方法");
}
public static void main(String[] args) {
new Test();
new Demo();
new Demo.test3();
}
}
程序运行结果:
{
System.out.println("我是demo的内部代码块");
}
System.out.println("我是demo的内部静态代码块");
}
public Demo() {
System.out.println("我是demo的构造方法");
}
static class test3 {
{
System.out.println("我是test3的内部静态类代码块");
}
static {
System.out.println("我是test3的内部静态类的静态代码块");
}
System.out.println("我是test3内部静态类的构造方法");
}
}
}
class Test extends Demo {
static {
System.out.println("我是test方法的静态代码块");
}
public Test() {
System.out.println("我是Test方法的构造方法");
}
public static void main(String[] args) {
new Test();
new Demo();
new Demo.test3();
}
}
程序运行结果:
}
程序加载顺序:父类静态代码块——子类静态代码块——父类非静态代码块——父类构造方法——子类非静态代码块——子类构造方法
1. 在运行程序的时候,哪怕对象没有new,当类中有静态代码块,静态代码块会执行。(其实这也可以解释static修饰的方法或者参数是不需要通过对象去调用的,在程序运行的时候就已经就绪了)
2. 当程序内new对象时,首先运行的是对象类中的代码块,然后才是类的构造方法。
3. static修饰的代码块总比没有用static修饰的先运行
4. 当父类中含有static修饰的代码块时候,先运行父类的,再运行子类的
(这几条总结摘抄)
静态代码块只执行一次, 构造块(非静态代码块) 调用一次构造方法执行一次
1 0
- java 字父类 构造方法 代码块 加载顺序
- java中静态代码块、代码块、构造方法的加载顺序
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
- java 静态代码块,构造代码块,构造方法,普通代码块的执行顺序
- 类中变量 代码块 构造方法 的加载顺序
- Java 子类、父类变量、代码块、构造方法加载顺序
- java类加载和实例化:静态代码块、初始化代码块、构造方法的执行顺序
- 静态代码块,构造代码块,构造方法的加载执行顺序研究
- JAVA中静态代码块,构造代码块,构造函数的加载顺序
- java中静态代码块,构造代码块,构造方法,main方法的执行顺序
- Java继承之间类的加载顺序, 以及代码块、构造块的执行顺序
- Java子父类间静态代码块、构造代码块、构造方法的执行顺序
- Java子父类间静态代码块、构造代码块、构造方法的执行顺序
- Java静态代码块、构造代码块、构造方法的执行顺序
- java 静态代码块 构造代码块 构造方法的执行顺序
- java 静态代码块、静态变量、成员变量、构造代码块、构造方法的执行顺序
- Java子父类间静态代码块、构造代码块、构造方法的执行顺序
- Java静态代码块、构造代码块、构造方法的执行顺序
- 总结 Eclipse 编程常用的快捷键
- 升了Xcode8.3 xcrun 打包不好用了
- 高德地图设置地图缩放比例
- 在Oracle中添加数据库
- python爬虫
- java 字父类 构造方法 代码块 加载顺序
- js分享代码
- linux_tar.gz 和tar.bz2 详细解释
- 6. web.xml中DispatcherServlet排除静态资源的拦截
- BGSLibrary: A Background Subtraction Library
- JSP数据和JavaScirpt数据交互使用问题
- activity和view进场和退场动画
- vim命令
- SQL语句导入导出大全