public class Base {
private String s1 = "Base string";
static int k = 0;
static {
System.out.println("Base static block before constructor");
System.out.println("Base k=" + k);
k++;
}
{
System.out.println("Base instance block before constructor");
System.out.println("Base s1= " + s1);
s1 = "Base string2";
}
public Base(){
System.out.println("Base Constructor");
}
{
System.out.println("Base instance block after constructor");
System.out.println("Base s1= " + s1);
}
static{
System.out.println("Base static block after constructor");
System.out.println("Base k=" + k);
}
}
public class Child extends Base {
private String s1 = "Child string";
static int k = 0;
static {
System.out.println("Child static block before constructor");
System.out.println("Child k=" + k);
k++;
}
{
System.out.println("Child instance block before constructor");
System.out.println("Child s1= " + s1);
s1 = "Child string2";
}
public Child(){
System.out.println("Child Constructor");
}
{
System.out.println("Child instance block after constructor");
System.out.println("Child s1= " + s1);
}
static{
System.out.println("Child static block after constructor");
System.out.println("Child k=" + k);
}
public static void main(String[] args){
new Child();
}
}
结果:
Base static block before constructor
Base k=0
Base static block after constructor
Base k=1
Child static block before constructor
Child k=0
Child static block after constructor
Child k=1
Base instance block before constructor
Base s1= Base string
Base instance block after constructor
Base s1= Base string2
Base Constructor
Child instance block before constructor
Child s1= Child string
Child instance block after constructor
Child s1= Child string2
Child Constructor
分享到:
相关推荐
Java初始化块Java初始化块
源代码以及word文件 博文链接:https://zsl131.iteye.com/blog/624175
Java初始化顺序1
深入Java初始化.pdf
作为一名程序员必须知道Java初始化顺序......
C++和Java初始化顺序的比较代码, 详细的解说请参考博客地址, http://blog.csdn.net/ostrichmyself/archive/2010/11/25/6035538.aspx
基于常量池和反编译分析的Java初始化研究.pdf
Java 的初始化问题和其他高级语言类似。一个明显不一样的地方是体现在它的类加 载过程。传统的编程语言包括C++等,程序是作为启动过程的一部分立刻被加载,而Java 的 类加载只在需要使用程序代码时才会被加载(每个...
Spring+Mybatis+Atomikos实现JAVA初始化并控制多个数据源+分布式事务的一个DEMO,内涵源代码,以及一篇关于该内容的博客
主要介绍了6种方法初始化JAVA中的list集合,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
java 数组初始化 详解 doc
一个java代码初始化具体过程的的demo
主要介绍了Java初始化块及执行过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
《Java程序设计基础教程》按内容分成五篇:Java 语言入门篇、面向对象篇、数据流应用篇、Java GUI编程篇和高级应用篇,共有二十四讲组成。
java语法\Java数组声明、创建、初始化
java软件技术文档
如果有static,即静态成员定义,首先初始化static的变量,如,在类Cups中c3在c2前面,可是在输出的结果中,你可以发现,c2是在c3前执行的,这就是因为,所有的static都在第一时间被初始化。
是某高手实际录制的一段视频,讲的很细致!