`
liubey
  • 浏览: 105137 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

继承时候的初始化顺序

    博客分类:
  • Java
阅读更多
1. 父类--静态变量
2. 父类--静态初始化块
3. 子类--静态变量
4. 子类--静态初始化块
5. 父类--变量
6. 父类--初始化块
7. 父类--构造器
8. 子类--变量
9. 子类--初始化块
10.子类--构造器



注意,静态变量和静态初始化块的顺序是按照在代码中出现的先后顺序而来的,同样,变量和初始化块也遵循这个规律。


[size=medium]附上Java代码:
class Parent {
// 静态变量
public static String p_StaticField = "父类--静态变量";
// 变量
public String p_Field = "父类--变量";
// 静态初始化块
static {
System.out.println(p_StaticField);
System.out.println("父类--静态初始化块");
}
// 初始化块
{
System.out.println(p_Field);
System.out.println("父类--初始化块");
}
// 构造器
public Parent() {
System.out.println("父类--构造器");
}
}
public class SubClass extends Parent {
// 静态变量
public static String s_StaticField = "子类--静态变量";
// 变量
public String s_Field = "子类--变量";
// 静态初始化块
static {
System.out.println(s_StaticField);
System.out.println("子类--静态初始化块");
}
// 初始化块
{
System.out.println(s_Field);
System.out.println("子类--初始化块");
}
// 构造器
public SubClass() {
System.out.println("子类--构造器");
}
// 程序入口
public static void main(String[] args) {
new SubClass();
}
}[/size]
0
0
分享到:
评论

相关推荐

    类继承的初始化顺序类,继承的初始化顺序

    类继承的初始化顺序类继承的初始化顺序类继承的初始化顺序类继承的初始化顺序

    Java类继承初始化顺序

    具体内容见博客

    java面试题-类的初始化顺序.doc

    这实际上是在考查我们对于继承情况下类的初始化顺序的了解。 我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器...

    Java类继承关系中的初始化顺序实例详解

    主要介绍了Java类继承关系中的初始化顺序,结合实例形式详细对比分析了Java非继承关系中的初始化与继承关系中的初始化相关原理与操作技巧,需要的朋友可以参考下

    Java类初始化顺序

    所有代码块是从上往下顺序执行的,所以代码块里面使用到的变量如果在块下面初始化会有问题 执行构造方法中内容。 所以看见的空构造方法,只能说第三部没有需要执行的内容。 下面举例子 public class TestClass { ...

    C++构造函数初始化顺序

     (1)任何虚拟基类的构造函数按照它们被继承的顺序构造;  (2)任何非虚拟基类的构造函数按照它们被继承的顺序构造;  (3)任何成员对象的构造函数按照它们声明的顺序调用;  (4)类自己的构造函数。 #include ...

    Java初始化顺序

    1 无继承情况下的Java初始化顺序: class Sample { Sample(String s) { System.out.println(s); } Sample() { System.out.println(Sample默认构造函数被调用); } } class Test{ static Sample sam=new...

    类实例化顺序讲解 附阿里巴巴一道笔试题

    对象创建和初始化过程3.1 new对象底层字节码指令分析3.2 对象初始化过程详解【重点】3.2.2 实例变量初始化顺序分析3.2.3 继承中实例变量初始化顺序四 类实例化顺序总结4.1 类初始化阶段4.2 对象的创建和初始化阶段...

    包含string对象的结构与memset初始化操作

    memset初始化std::string对象时,按字节顺序将std::string对象所在空间清零,破坏了std::string对象的成员结构,使Myroxy指针资源变为野指针,操作其迭代器会出现不可预知的异常,在存储字符串时可能分配了不必要的...

    Python多重继承的方法解析执行顺序实例分析

    主要介绍了Python多重继承的方法解析执行顺序,结合实例形式分析了Python多重继承时存在方法命名冲突情况的解析执行顺序与相关原理,需要的朋友可以参考下

    JAVA面试题解惑系列

    这实际上是在考查我们对于继承情况下类的初始化顺序的了解。 我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器...

    java面试题静态加载顺序构造方法

    Java中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 继承与static 面试题目如下:请写出程序执行完成之后的结果。...3、类初始化时,先初始化类的属性成员,在执行构造方法。

    Android代码-AppInit

    AppInit:Android 应用初始...可以配置各模块间的初始化顺序,模块内部自己管理各初始化类的顺序,也可配置在其他模块的某个初始化类之前初始化(编译期间排序,运行期高性能) 可以在应用启动时拉取配置信息动态修改初

    Java开发者文档,分享日常学习的一些小知识点 .rar

     2、继承时,对象的初始化过程  (1) 主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private。  (2) 主类静态成员的初始化。  (3) 主类的超类由高到低进行默认构造方法的调用。注意,在调用每一...

    nullWolf007#gitbook_books#一、类与继承1

    1.构造函数 2.继承 3.派生类初始化顺序

    javase子类父类继承关系图解

    用简单几句话说明java成员初始化顺序,适合初学者

    c++ 习题 派生类和继承

    含有虚基类的派生类的构造函数有什么要求,什么是最远派生类,建立一个含有虚基类的派生类的对象时,为什么由最远派生类的构造函数负责虚基类的初始化?继承与组合之间的区别与联系是什么?派生类的构造函数是怎样的...

    AppInit:AppInit是一款Android应用初始化框架,基于组件化的设计指南,功能灵活,使用简单

    AppInit:Android应用初始化框架 AppInit是一款Android应用初始化...功能简介可以在指定进程的指定线程,按指定顺序分配Application生命周期方法给初始化类(继承自SimpleAppInit并添加AppInit注解,低取代)可以配置

Global site tag (gtag.js) - Google Analytics