`
suifeng
  • 浏览: 184513 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

对象初始化奇怪现象

 
阅读更多
直接看到代码,说答案, 执行Main后输出两行,这两行是否一样?

class A {
	{
		System.out.println(this.getClass().getName());
	}
}

class B extends A {
	{
		System.out.println(this.getClass().getName());
	}
}
public class Main {
	public static void main(String[] args) {
		new B();
	}
}


没有执行之前,我想当然的认为是不一样的,但是执行之后,令我吃惊的,居然是一样的。

估计 在父类中的this是子类的this,初始化时传递上去的。

知道的能否解释一下。
分享到:
评论
2 楼 suifeng 2009-06-28  
这么一说好像明白了
1 楼 mikeandmore 2009-06-28  
this.getClass()......
当然是一个东西了啊。。

相关推荐

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

    在Java编程语言中,初始化块是程序执行时用于初始化对象或类的重要机制。这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种...

    C++全局变量初始化的一点总结

    静态初始化发生在程序加载时,主要针对那些可以用常量表达的初始化,例如零初始化(zero initialization)和常量初始化(const initialization)。零初始化的变量通常存放在BSS段,而常量初始化的变量则位于数据段,...

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

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

    C++构造函数初始化列表

    在C++编程语言中,构造函数是对象生命周期开始时自动调用的特殊成员函数,用于初始化对象的状态。构造函数初始化列表是C++中一个非常重要的特性,它允许程序员在对象创建时直接对类中的成员进行初始化,而不是先分配...

    SIN初始化_混沌初始化_matlab_混沌映射_种群初始化_sin映射初始化粒子群_

    标题中的“SIN初始化_混沌初始化”指的是使用正弦混沌映射对粒子群进行初始位置的设置。混沌系统具有高度的敏感性,使得初始条件的微小差异可能导致显著不同的结果,这为种群的多样性和探索性提供了可能。SIN映射是...

    SpringBoot项目启动时实现调用一次初始化方法.docx

    `@PostConstruct`是Java EE规范的一部分,它用于标记一个方法,这个方法将在对象被Spring容器初始化完成后、所有依赖注入完成并且在该对象的`init()`方法之前调用。使用`@PostConstruct`注解的方法只会被调用一次,...

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

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

    然后,我们可以通过构造方法和语句块来初始化对象的成员变量。 Java 对象初始化是一个复杂的过程,涉及到程序运行、字节码文件反编译和内存分配三个维度。只有通过对这些维度的深入分析,我们才能更好地理解 Java ...

    Python应用开发-对象初始化.pptx

    Python 应用开发 - 对象初始化 Python 是一种流行的高级编程语言,应用广泛,包括数据分析、人工智能、Web 开发等领域。对象初始化是 Python 中的一个重要概念,涉及到对象的创建、初始化和销毁。本文将详细介绍 ...

    C++构造函数全解析:掌握对象初始化核心技术

    通过具体实例展示了如何利用构造函数实现有效的对象初始化。 适合人群:具有C++基础知识的开发者和技术爱好者,特别是希望深入了解C++对象创建和初始化机制的人群。 使用场景及目标:适用于需要掌握C++面向对象编程...

    PCI设备BAR空间的初始化

    ### PCI设备BAR空间的初始化详解 #### 一、引言 在现代计算机系统中,PCI(Peripheral Component Interconnect,外围部件互连)总线是一种重要的高速扩展总线标准,广泛应用于连接各种硬件设备,如显卡、声卡、...

    C#中结构(struct)的部分初始化和完全初始化实例分析

    本文将深入探讨结构的两种初始化方式:部分初始化和完全初始化,并通过实例分析其特点和注意事项。 首先,我们来看部分初始化。部分初始化是指在创建结构实例时只给一部分字段赋值,而其余字段保持默认状态。以下是...

    C 程序设计中对象初始化的方法与技巧.pdf

    其次,通过定义成员函数来初始化对象是一种更灵活的方法。成员函数如`givevalue()`可以在类内部实现,允许用户在程序运行时输入对象的初始值。这种方式增加了程序的交互性,但同时也增加了代码的复杂性,因为需要...

    类和对象的初始化过程.zip

    在Java编程语言中,类和对象的初始化是程序运行的基础,因为它们构成了面向对象编程的核心。这个压缩包文件包含三个源代码文件:StaticTest.java、Test.java和Father.java,它们可能用于演示类和对象初始化的不同...

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

    3. **基类非静态成员初始化**:当创建一个子类对象时,会首先调用基类的构造函数来初始化基类的非静态成员变量。 4. **子类非静态成员初始化**:接着是子类的非静态成员变量初始化。 5. **基类构造函数调用**:通过`...

    计数器实现了默认构造函数用于初始化,c++面向对象程序设计书上的习题

    在C++中,构造函数是一种特殊类型的成员函数,它在创建对象时自动调用,用于初始化对象的状态。默认构造函数是指没有参数的构造函数,它的作用是当创建对象时,如果没有提供任何初始值,就使用默认值来设置对象的...

    FANUC机器人初始化系统的基本方法和步骤.docx

    ### FANUC机器人初始化系统的基本方法和步骤 #### 一、引言 FANUC机器人的广泛应用使得其系统的维护与管理变得尤为重要。其中,初始化作为系统恢复的重要手段之一,不仅能够帮助用户解决软件故障问题,还能确保...

    LS-DYNA3D中的应力初始化_lsdyna_应力初始化_

    标题中的“应力初始化”是指在进行LS-DYNA3D模拟时,如何设定初始条件中的应力状态。在进行复杂的工程问题模拟时,正确设置初始应力对于获取准确的计算结果至关重要。 应力初始化通常涉及到以下几个关键知识点: 1...

    柯尼卡美能达7828载体初始化方法

    ### 柯尼卡美能达7828载体初始化方法详解 #### 一、概述 在使用柯尼卡美能达7828打印机的过程中,可能会遇到需要对载体进行初始化的情况。载体初始化是为了确保打印机能够正常工作并维持打印质量的重要步骤之一。...

    比赛工程2,初始化上行至10层;电梯PLC;好像是六部十层;;

    比赛工程2,初始化上行至10层;电梯PLC;好像是六部十层;;比赛工程2,初始化上行至10层;电梯PLC;好像是六部十层;;比赛工程2,初始化上行至10层;电梯PLC;好像是六部十层;;比赛工程2,初始化上行至10层;电梯PLC...

Global site tag (gtag.js) - Google Analytics