`
xuedong
  • 浏览: 287041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 对象执行顺序

    博客分类:
  • java
阅读更多
 
package com.tzf.test;

public class Father {
	
	static {
		System.out.println("Father static Block Create");
	}
	
	{
		System.out.println("Father Block Create");
	}
	
	public Father(){
		System.out.println("Father Constructor Create");
	}
	
	public static void StaticFunction(){
		System.out.println("Father static Function");
	}

	public void Function(){
		System.out.println("Father Function");
	}
}

 

 
package com.tzf.test;

public class ChildOne extends Father {
	
	static {
		System.out.println("ChildOne static Block Create");
	}
	
	{
		System.out.println("ChildOne Block Create");
	}
	
	public ChildOne(){
		System.out.println("ChildOne Constructor Create");
	}
	
	public static void StaticFunction(){
		System.out.println("ChildOne static Function");
	}

}

 

 
package com.tzf.test;

public class ChildTwo extends Father {
	
	static {
		System.out.println("ChildTwo static Block Create");
	}
	
	{
		System.out.println("ChildTwo Block Create");
	}
	
	public ChildTwo(){
		System.out.println("ChildTwo Constructor");
	}
	
	public static void StaticFunction() {
		System.out.println("ChildTwo static Function");
	}

	public void Function() {
		System.out.println("ChildTwo Function");
	}
}

 

 
package com.tzf.test;

public class Main {
	
	public static void main(String[] args) {
		Father A = new ChildOne();
		Father B = new ChildTwo();
		A.StaticFunction();
		A.Function();
		B.StaticFunction();
		B.Function();
	}
	
}

问 运行Main.java之后输出什么?

 

答案如下

Father static Block Create
ChildOne static Block Create
Father Block Create
Father Constructor Create
ChildOne Block Create
ChildOne Constructor Create
ChildTwo static Block Create
Father Block Create
Father Constructor Create
ChildTwo Block Create
ChildTwo Constructor
Father static Function
Father Function
Father static Function
ChildTwo Function

 

转自:http://tangzhifei.iteye.com/blog/1183308

 

分享到:
评论

相关推荐

    java中对象和对象引用的区别!

    在JAVA里,“=”不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地址传给了左边的引用,使得左边的引用指向了右边的对象。JAVA表面上看起来没有指针,但它的引用...

    第一章JAVA面向对象的程序设计.doc

    面向对象的程序设计思想:以对象作为基本单位,以消息为驱动,事件模型为处理机制。 4:以后发展:基于组件(构件模型)、以中间件作为程序的构加基础等等,实现软件标准化 5:面向对象语言:C++、VB、Delphi及JAVA...

    Java面向对象编程思想

    第一种方法被称为面向过程的模型(process-oriented model ),用它编写的程序都具有线性执行的特点。面向过程的模型可认为是代码作用于数据,像C这样的过程式语言采用这个模型是相当成功的。第二种方式,也就是面向...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     3.6.3 把helloapp应用作为独立应用程序运行  3.6.4 把helloapp应用作为Java Web应用运行  3.7 小结  3.8 思考题 第4章 hbm2java和hbm2ddl工具  4.1 创建对象-关系映射文件  4.1.1 定制持久化类  4.1.2 定制...

    java 面对对象编程.pdf.zip

    如果一个类没有声明构造方法,该程序能正确执行吗? 构造方法有哪些特点?是否可被 override? 面向对象三大特征 封装 继承 多态 接口和抽象类有什么共同点和区别? 深拷贝和浅拷贝区别了解吗?什么是引用拷贝? Java ...

    java期末复习第讲面向对象程序设计.pptx

    包名的解释 Java解释器的执行顺序是:首先找到环境变量classpath,利用classpath包含的一个或者多个目录,把他们作为一种特殊的"根"使用,从这里开始搜索,搜索时会把"."替换成"\"(Windows)。 第5页/共41页 java...

    java调用存储过程(含out参数)

    java调用存储过程的方法,含还有out参数的存储过程,解决方案,在网上找了n久发现这样的资源太少,现在总结一下我的解决方案供大家分享,希望对大家有用

    java 基础 类对象创建实例化过程 实例解析

    * 执行启动类的main函数 -> 创建对象的继承树从高到底的类层次中的静态块(如果已经被执行过,则不会重复执行) -> * 继承树中的从最高层开始的实例语句块{}、然后对应的构造函数、以及构造函数中调用的方法 * ...

    Java零基础-面向对象和面向过程.md

    内容概要: 本文档详细介绍了Java编程中的面向对象编程(OOP)和面向过程编程(Procedural Programming)两种主要编程范式。通过示例代码和详细解释,帮助读者理解这两种编程方式的概念、特点和用法,并对比它们之间...

    java源码包---java 源码 大量 实例

     Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...

    完成Java面向对象程序设计实验课的心得体会(1).doc

    完成Java面向对象程序设计实验课的心得体会 Java面向对象程序设计实验课的心得体会 经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。 在实验课上,我们完成多个实验,在这个阶段的学习中...

    JAVA语言程序设计课程教学大纲.doc

    (3)在对Java程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误 的能力。 (4)通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语 言支持系统相互关系的了解。 三、实践内容 ...

    [java]读书笔记整理:一切都是对象

    这一约束限制了程序的灵活性,所以虽然某些java数据存储于堆栈中——特别是对象引用,但是java对象并不存储其中。 3) 堆 一种通用的内存池(也位于RAM区),用于存放所有的java对象。堆不同于堆栈的好处是:编译器...

    Java语言实用教程

    2.3 Java程序运行过程 2.4 使用Java的帮助文档 2.5 习题 第3章 Java语言基础 3.1 语言符号 3.2 Java的数据类型 3.3 运算符和表达式 3.4 符单输入输出 3.5 程序控制语句 3.7 习题 第4章 数组 4.1 数组的概念 4.2 一维...

    java高级编程,java面向对象,java基础.rar

    面向对象是相对于面向过程来讲的,指的是把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事务的自然运行模式。 面向对象到面向过程,是程序员思想上从执行者到指挥者的转变。 2.举个...

    Java面向对象程序设计的资料,帮助初学者进行Java编程语言的学习

    1、Java 是什么 通常我们认为,Java 是: 一种计算机编程语言 ...计算机能看懂,就能够按照我们要求运行,而这个过程就是我们说的使用Java 编程,所以我们讲Java 是 一种计算机编程语言。 为了让计算

    完成Java面向对象程序设计实验课的心得体会.doc

    Java面向对象程序设计实验课的心得体会 经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。 在实验课上,我们完成多个实验,在这个阶段的学习中,我从认识到熟悉,而后到 能够自主运用。...

    java综合试题(面试题)

    6、Java源程序在转换为机器语言执行过程中既有编译也有解释。 ( ) 7、// 是java的多行注释符。 ( ) 面向对象 3.Java 仅支持类间的单重继承。 ( ) 17.方法可以没有返回值,或有一个返回值,也可以有多个返回值。...

Global site tag (gtag.js) - Google Analytics