0 0

关于继承和当前类的一个问题!5

类 A    继承了  类 B;

 

B中含有一个构造函数  

public B(){

    this.getClass();
}

 

当 new A的时候, 会直接调用了B的构造函数。。。。。

 

那么,在B的构造方法中, this  指的是哪个类呢?

 

答案是 A ,为什么呢?     我一直疑惑这里, 希望大家帮我解答一下;


问题补充:希望大家再解释清楚点,  this是当前类, 但this在B里面啊,怎么this成了A?

2012年11月11日 21:57

4个答案 按时间排序 按投票排序

0 0

采纳的答案

this代表的是当前对象。
如果new A(),那么this就是A类的对象,this.getClass()就是A。
如果new B(),那么this就是B类的对象,this.getClass()就是B。

总之,new的是哪个类的对象,this.getClass()得到的就是哪个类。
this代表的是当前创建出来的对象,和具体写在哪个类中没有关系。

2012年11月11日 22:18
0 0

运行环境中没有B类的实例,没有实例怎么会有this呢,呵呵

2012年11月12日 17:17
0 0

2012年11月12日 09:56
0 0

A类 , this 指的是当前运行的类

2012年11月11日 22:01

相关推荐

    c++抽象类继承

    在这个示例中,我们有三个具体的类:`Student`、`Lecture` 和 `Module`,它们都继承自一个抽象基类 `UniversityObject`。`UniversityObject` 类定义了一个纯虚函数 `getSummary()`,这意味着任何继承自它的类都必须...

    Java设计一个银行帐户类(继承与多态)

    在Java编程中,设计一个银行账户类是学习面向对象编程的一个常见练习,它涉及到类的定义、对象的创建以及继承和多态的概念。在这个实验中,我们创建了一个名为`BankCount`的类来代表银行账户,并包含了一系列与账户...

    Java中extends类的继承

    类的继承是面向对象编程的一个核心特性,它允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。下面将详细探讨`extends`关键字在Java中的使用、特点以及相关知识点。 1. **类的继承...

    Java 接口与继承

    继承是Java中创建新类的一种方式,它允许一个子类(SubClass)从一个已存在的父类(SuperClass)中获取属性和方法。这种机制使得子类可以扩展父类的功能,而无需重新编写父类的代码。在Java中,创建子类的语法如下:...

    学学Python_40类_06 多继承

    在Python编程语言中,多继承是一种特性,允许一个子类(派生类)从多个父类(基类)中继承属性和方法。这种设计模式提高了代码的复用性,使得子类可以集成多个父类的功能,形成更加复杂和灵活的类结构。在“学学...

    句柄类与继承用于参考

    在面向对象编程中,继承允许创建一个新类(子类或派生类),该类继承了现有类(基类或父类)的所有属性和行为。这种机制可以减少代码重复,提高代码的可重用性和可扩展性。例如,在这段代码中,`bulk_item` 类继承自...

    继承和多态笔记.docx

    - **定义**:继承是面向对象编程的一个基本特征,允许创建一个新的类(子类),该类继承自现有的类(父类)。子类可以复用父类的属性和方法,并添加新的特性。 - **特点**: - **单继承**:Java支持单继承,即每个...

    Python 多继承类的 MRO 算法——C3算法

    Python中的多继承是一种强大的特性,允许一个类同时继承多个父类,从而获取多个类的属性和方法。然而,多继承可能会引发一个问题,即当子类需要调用一个在多个父类中都存在的方法时,Python如何决定调用哪个父类的...

    IntelliJ IDEA中查看当前类的所有继承关系图

    在本文中,我们将讨论如何在 IntelliJ IDEA 中查看当前类的所有继承关系图,这是一个非常有用的功能,能够帮助开发者快速了解一个类的继承关系,从而更好地理解和维护代码。 什么是继承关系图? ------------------...

    JAVA 继承和多态实验报告.pdf

    其中,public权限允许任何类访问,private权限只允许当前类访问,protected权限允许当前类和其子类访问,default权限则是默认的权限,允许当前类和同一个包中的类访问。 在本实验中,我们使用private权限来控制访问...

    实验2 类和继承(4学时)

    (3)完成该软件包后的编码后,在另一个包的含有main方法的类中编写代码,分别使用图形软件包中的三个类,生成三个对象,并打印出其周长和面积。 2、编写类Factorial,为其添加两个静态方法(方法名自定义)。其中一...

    以员工为编写一个程序,定义如下类:以员工为父类,该类包含员工的基本信息:姓名、年龄、部门。创建两个子类:经理类和工人类,输出经理和工人的工资。在父类中编写getSalary()方法,在子类中覆盖,实现多态。

    本案例中,我们构建了一个基本的员工类作为基类,并从它派生出两个子类:经理类和工人类。通过这些类的设计,我们可以实现对不同类型的员工进行基本信息的管理,并且能够根据不同类型的员工计算他们的工资。 ### ...

    通过实例来剖析C#继承机制

    - **密封类**:使用`sealed`修饰符,可以防止其他类继承当前类,确保类的封闭性。 - **虚方法和重写**:父类的方法可以通过`virtual`关键字声明为虚方法,子类可以使用`override`关键字重写这些方法,实现自定义行为...

    JAVA 继承例题

    在Java编程语言中,继承是面向对象特性的一个关键概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。这有助于代码重用,促进模块化,并且使得类之间的关系更加清晰。在"JAVA 继承例题"这个主题中,我们...

    js继承 Base类的源码解析

    `Base.prototype.extend`方法是`Base`类的核心,它负责将一个对象的属性和方法扩展到当前对象中,从而实现继承。这个方法接受一个参数`source`,可以是对象字面量或者多个名称/值对。下面是`extend`方法的主要逻辑:...

    JAVA继承_接口_抽象类等练习.doc

    **概念:** 在Java中,一个类可以通过`extends`关键字继承另一个类,从而获得父类的所有公共成员变量和方法。 **选择题示例:** 第11题中,正确答案是D选项:“class B extends A”。这是因为Java中类的继承通过`...

    java 继承和多态的讲解

    在Java中,类的继承允许一个类(子类)从另一个类(父类)继承属性和方法,从而实现代码的共享和结构的层次化。这使得子类可以拥有父类的所有非私有属性和方法,同时还能添加自己的特性和功能。 继承的关键字是 `...

    C++实现的五子棋,类的继承等

    在本项目中,我们探讨了如何使用C++编程语言实现一个基本的五子棋游戏,其中涉及到了类的继承和对象的交互。五子棋是一个经典的两人对弈游戏,目标是在棋盘上先连成五子直线(横、竖、斜)的一方获胜。这个实现主要...

    C#继承学习实例

    在C#编程语言中,继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)从另一个类(父类或基类)继承属性和方法,从而实现代码的重用和扩展。本教程针对在校学生等初学者,旨在通过实例深入理解C#中的...

Global site tag (gtag.js) - Google Analytics