java 构造器的初始化顺序
来源:互联网 发布:创投公司 知乎 编辑:程序博客网 时间:2024/05/21 10:18
示例:
/**
* 构造器的初始化顺序
*
*
*/
class A{
A() {
System.out.println("A.A called");
}
}
class B extends A{
int i=f();
int j;
//初始化代码块
{
j=37;
System.out.println("initialization block executed");
}
B() {
System.out.println("B.B called");
}
int f(){
System.out.println("B.f called");
return 47;
}
}
public class CtorDemo {
public static void main(String[] args) {
B bobj=new B();
}
}
结果:
A.A called
B.f called
initialization block executed
B.B called
分析:
(1)设置成员的值为默认的初始值(0,/u0000,0.0,false,null)
(2)调用对象的构造方法(但是还没有执行构造方法体)
(3)使用初始化程序和初始化块初始化成员(先父类后子类)若父类的某个成员变量的初始化的方法被子类覆盖了,侧调用子类的该方法,但此时子类中未初始化,为默认值
(4)执行构造方法体
- java 构造器的初始化顺序
- java中成员初始化与构造器初始化的顺序
- 构造器初始化的顺序
- JAVA 中的构造器及初始化块的执行顺序
- Java初始化顺序,静态变量,static块,实例变量,构造器的初始化顺序
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)
- Java编程思想--构造器初始化顺序
- 关于java构造器初始化顺序例子
- java--构造器与static,初始化顺序
- 构造器初始化顺序
- Java:深度理解JAVA本身的构造器及子父类构造方法的初始化顺序
- JAVA静态初始化块,初始化块,构造器调用顺序
- 深度理解JAVA本身的构造器及子父类构造方法的初始化顺序
- 深度理解JAVA本身的构造器及子父类构造方法的初始化顺序
- 关于JAVA静态初始化块,初始化块,构造器调用顺序的问题
- java 静态初始化,动态初始化,以及构造器执行的顺序
- java---静态语句块、构造语句块、构造器的初始化顺序
- 一个最关心的问题:什么是STL
- spring 定时器
- SQL 系统存储过程用法整理
- Version 1.3.1_01 of the JVM is not suitable for this product.Version:1.4.1 or greater is required。
- java验证码识别--5
- java 构造器的初始化顺序
- JQUERY处理表单控件
- PHP JSON使用
- OpenCL 1.0 Specification阅读笔记(3)
- ubuntu安装手柄驱动玩游戏
- 笔试题小结
- 导致sendto执行的时间过长的原因
- 工作两年的一点点感想
- Android操作系统第三季在美市场份额达44%