`
xuedong
  • 浏览: 299115 次
  • 性别: 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虚拟机(JVM)是Java程序运行的基础平台,其内部有一套完整的内存管理机制。根据JVM规范,JVM的内存可以分为以下几个主要部分: 1. **方法区(Method Area)**:用于存储类的信息、常量、静态变量、即时编译后的...

    Java面向对象程序设计(第二版)

    异常处理是Java中处理程序执行过程中出现的错误的一种机制。异常是指在程序执行过程中发生的一些不寻常的事件,这可能会中断程序的正常流程。Java提供了一套完整的异常处理机制,包括异常类、异常捕获(try-catch)...

    Java面向对象程序设计课后答案全解

    Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)原则,为开发者提供了构建复杂软件系统的方法。本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象...

    Java面向对象应用程序开发

    综上所述,Java面向对象应用程序开发涵盖了从语言基础、面向对象编程原理到实际应用开发的全过程。掌握这些知识,将使开发者能够创建高效、可靠且易于维护的Java应用程序。通过深入学习和实践,开发者可以不断提升...

    探讨Java的对象是怎么在内存中产生的?

    Java作为一种主流的面向对象编程语言,其对象的创建与管理是程序运行的基础。本文将详细探讨Java对象在JVM中的创建过程以及其内存布局,帮助读者更深入地理解Java对象是如何在内存中产生的。 #### 二、对象的创建 ...

    JAVA面向对象程序设计(期末考试试题及答案).pdf

    三、程序运行结果: 1. 第一段程序输出`Hello! I love JAVA.`,因为`toString()`方法返回`s1`和`s2`的连接字符串。 2. 第二段程序的输出没有给出,通常会包含输入流相关的错误,因为没有正确的使用`import`语句导入...

    《Java面向对象程序设计(第2版)》课件

    Java面向对象程序设计是计算机科学中的一个重要领域,尤其在软件开发中占据核心地位。第二版的《Java面向对象程序设计》课件旨在深入浅出地介绍这一关键概念,帮助学习者掌握Java语言的基础以及面向对象编程的核心...

    “礼让”原则学习Java对象初始化顺序.pdf

    Java 对象初始化顺序是指在 Java 程序中,对象的初始化过程中发生的顺序问题。这是 Java 编程语言的基础知识点之一,但是许多学生在学习和使用时总是感到困惑和困难。 二、JVM 执行过程中的“礼让”原则 JVM 在...

    Java面向对象程序设计课件

    Java面向对象程序设计是计算机科学中的一个重要领域,尤其对于初学者和有志于软件开发的人来说,它是必须掌握的基础。这份“Java面向对象程序设计课件”可能是为了帮助大学生理解和掌握这个主题而精心编排的。它适合...

    JAVA面向对象程序设计(期末考试试题及答案).zip

    在Java编程语言中,面向对象程序设计(Object-Oriented Programming, OOP)是一种核心的编程范式,它基于“对象”概念,将数据和处理数据的方法封装在一起,以实现代码的模块化和可重用性。这个压缩包文件"JAVA面向...

    java面向对象程序设计

    JVM是Java程序的运行环境,它负责解释字节码并执行程序。 学习"Java面向对象程序设计"这本书,你将掌握这些基础知识,为后续深入学习如《Thinking in Java》这样的高级教材奠定坚实的基础。在实践中不断探索和应用...

    Java面向对象程序设计教程.pdf

    Java面向对象程序设计是软件开发领域中的核心概念,它基于“万物皆对象”的思想,将现实世界中的事物抽象为计算机程序中的对象,从而实现代码的模块化和复用性。本教程《Java面向对象程序设计教程》深入浅出地讲解了...

    java面向对象应用程序开发

    2. **对象(Object)**:对象是类的实例,它是程序运行时的基本实体,拥有类所定义的属性(数据成员)和行为(方法)。 3. **封装(Encapsulation)**:封装是将数据和操作数据的方法绑定在一起,对外隐藏实现细节...

    Java设计-对象UML与过程

    在软件开发领域,Java设计-对象UML与过程是一个重要的主题,它涵盖了面向对象编程的基本原理,以及如何通过统一建模语言(UML)来描绘和理解这些对象和过程。UML是一种图形化的建模工具,它使得软件设计者能够清晰地...

    Java 语言与面向对象程序设计(2版)实验指导

    《Java语言与面向对象程序设计(2版)实验指导》是一本专为学习Java编程语言和面向对象设计方法的学生或初学者编写的实践教材。它旨在通过一系列的实验,帮助读者深入理解Java语言的核心概念以及如何应用这些概念...

    java反射机制 字符串——java对象

    在Java中,将Java对象的数据封装成XML格式的字符串,通常涉及到对象序列化的过程。对象序列化是将对象的状态转换为字节流,以便存储或在网络上传输。这个过程可以通过实现`java.io.Serializable`接口来完成。反序列...

Global site tag (gtag.js) - Google Analytics