`
美丽的小岛
  • 浏览: 309333 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

关于对象初始(java)

    博客分类:
  • java
 
阅读更多

有时,对JAVA实例化的顺序会忘记,现在记录一下。

1.调用<init>()方法

2.实现对实例变量的初始

3.构造方法体的代码

对于第一步,如果是是this的,这里就只有this与构造方法体的代码的,对于实例变量的初始,由调用的那个构造函数去实现了。

对于第一步不是this情况,则第一个为super的了(可以不写出来),后面的的第二步与第三步都是相同的。

用一个例子来记忆一下。

class father {
	private int i = 12 ;
	private String fatherstr = "F" ;
	{
		System.out.println("fffffffffffffffff") ;
        }
	public father(){
		i = 22 ;
		g() ;
		System.out.println("father") ;
	}
	public void g(){
		System.out.println("i="+i) ;
	}
}

class son extends father{
	private int j = 13 ;
	private String sonStr = "s" ;
	{
		System.out.println("sssssssssssssss") ;
	}
	public son(){
		g() ;
		j = 33 ;
		g() ;
        	System.out.println("son") ;
        }
	public void g(){
		System.out.println("j="+j) ;
        }
}

public class TestObject{
	public static void main(String arg[]){
		son s = new son() ;	
	}

}

 执行结果为:

看看JVM是怎样去处里这个问题:

father类:

 son类:

  用son类来分析一下(father一样的),son()的构造方法中,编号为1的那个是调用father的构造方法;
7中是初始化son的实例变量
13中是初始化了sonStr
还有19后面执行了那个实例块
当初始化结束后,运行g()的调用,这个是从25号开始。。。。

  • 大小: 5.9 KB
  • 大小: 137.3 KB
  • 大小: 157.5 KB
1
0
分享到:
评论

相关推荐

    Java静态初始化块和对象初始化块

    总之,理解并有效地使用静态和对象初始化块是Java开发中的关键技能,它们可以帮助我们更好地控制类和对象的初始化过程,确保代码的高效性和正确性。在实际编程中,我们应该根据需求谨慎选择合适的初始化策略,以优化...

    java中对象创建、初始化、引用

    ### Java中对象创建、初始化与引用详解 #### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和...

    初始java第一讲

    Java开发基础:初识Java Java,一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)在...在"初始Java第一讲"的PPT中,通常会涵盖这些基础内容,帮助初学者建立对Java编程的全面认识。

    对象初始化流程梳理对象初始化流程梳理

    Java中的对象初始化流程是编程实践中一个非常重要的概念,它涉及到类加载、静态初始化块、实例初始化块、构造器等多个方面。下面将详细解释这个过程。 首先,对象初始化流程的起点是程序的入口点,即`main`方法。当...

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

    "Java 对象初始化顺序学习指南" 在学习 Java 编程语言时,对象初始化顺序是一个非常重要的知识点,但是许多学生却感到困惑和困难。事实上,Java 对象初始化顺序并不难理解,只需要掌握“礼让”原则和 JVM 的执行...

    03.Java对象初始化1

    Java 对象初始化过程详解 Java 对象的初始化过程是通过 new 指令开始的,首先会根据指令参数在常量池中定位到一个类的符号引用。如果没有定位到这个符号引用,那么这个类就没有被加载,就需要 JVM 进行类的加载。...

    Java对象初始化的多维度分析 (2).pdf

    Java 对象初始化的多维度分析 Java 对象初始化是一个基础概念,但是很多人不知道它的内涵,特别是在类继承时。下面,我们从三个维度来分析 Java 对象的初始化过程。 一、从程序运行维度分析 在 Java 中,对象初始...

    java代码的初始化顺序demo

    在Java编程语言中,类和对象的初始化是一个关键的概念,对于理解和编写健壮的程序至关重要。这个"java代码的初始化顺序demo"显然旨在演示这一过程。让我们深入探讨Java中的初始化顺序及其背后的机制。 1. **类加载...

    Java面向对象程序设计

    Java面向对象程序设计是计算机编程领域中的核心主题,它基于面向对象编程(OOP)理念,使得代码更具有模块化、可复用性和易于维护的特点。以下是对标题和描述中涉及的知识点的详细阐述: 1. **第1章:Java入门** -...

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

    Java对象的创建不仅仅涉及到简单的`new`关键字操作,而是包含了类加载检查、内存分配、对象初始化等多个步骤。同时,对象在内存中的布局也非常重要,它不仅决定了对象的存储方式,还直接影响到程序的性能表现。通过...

    java 初始化与方法

    这里提供的“二初始化及方法.doc”可能包含了一篇关于这个主题的详细分析,建议阅读以获取深入理解。同时,"second"这个名字可能是另一个文档或资源,它可能与类的初始化或方法的实现有关,同样值得我们去探索和学习...

    JAVA类与对象及数组习题

    下面是关于JAVA类和对象及数组的习题,涵盖了构造方法、继承、多重继承、变量声明、数组初始化等方面的知识点。 1. 构造方法的调用方式: 构造方法是类的特殊方法,用于初始化对象的状态。调用构造方法的方式有很多...

    面向对象编程(Java).pdf

    Java是一种广泛使用的面向对象编程语言,它封装了数据和操作数据的行为,并支持继承和多态特性,使得Java程序可以高度模块化和复用。在Java中,面向对象编程(OOP)的三大基本特性是封装、继承和多态。 封装是面向...

    json转对象数组与对象数组转json --Java

    ### JSON转对象数组与对象数组转JSON(Java) 在Java编程语言中,处理...以上就是关于Java中JSON字符串与对象数组之间相互转换的基本流程和技术要点。通过这种方式,开发者可以更加灵活地处理各种复杂的JSON数据结构。

    java语法\Java数组声明、创建、初始化

    Java数组声明、创建、初始化 Java数组是指在Java语言中可以存储多个相同类型元素的数据结构。数组是一种引用类型,它的元素可以是基本类型,也可以是对象类型。Java数组的声明、创建和初始化是Java编程中非常重要的...

    java程序初始化顺序

    在Java编程语言中,程序初始化的顺序是一个关键概念,它涉及到类加载、对象创建以及执行流程的安排。了解这些顺序对于编写高效、无错误的代码至关重要。以下是对Java程序初始化顺序的详细说明: 1. **类加载阶段**...

    Java中对象初始化顺序的详细介绍

    在Java编程语言中,对象初始化是一个关键的概念,它涉及到类加载、对象实例化以及成员变量的赋值。本文将深入探讨Java中对象初始化的顺序,帮助开发者理解这一过程的细节。 首先,Java类的加载过程分为三个阶段:...

    java基础之对象的初始化

    java对象初始化问题

Global site tag (gtag.js) - Google Analytics