2 sinat 33201468 sinat_33201468 于 2016.04.22 18:00 提问

子类与父类this,与super

public class Usa extends Earth
{
public void print()
{
System.out.println(this.getClass().getSimpleName());
System.out.println(super.getClass().getSimpleName());

}

}

public class Earth
{
private int data = 0;

public void setData(int data)
{
    this.data = data;
}

public int getData()
{
    return this.data;
}

}

public class Test
{

public static void main(String[] args)
{
    Usa us = new Usa();
    us.print();
}

}
运行结果:

Usa

Usa

怎么理解?

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.22 23:38

getClass()永远返回的是实际对象的类型。

CSDNXIAOD
CSDNXIAOD   2016.04.22 18:12

子类this指针传给父类
子类调用父类方法中的this
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
子类方法中super.父类方法
1.子类方法super.父类方法,并且有自己的方法体内容下面代码中,子类方法中的“super.”的意思就是父类对象调用该方法2.一个类中只能有一个public的class,别的只能是默认类型或者其他3.main必须是static才能运行4.创建内部类对象,内部类必须是static;创建和主类并列的普通类对象,可以不加static-----------------------------------...
python子类调用父类的方法-super
转载;http://www.crazyant.net/1303.html python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找。 继承父类后,就能调用父类方法和访问父类属性,而要完成整个
使用父类方法一定要用super吗(写给新人)
今天,在群里有人问(估计是新手)。答案,不一定。只有当子类重写了父类的方法时,如果需要用到父类的方法时,才要用super,表明这个方法时父类的方法不是子类的方法。不理解?上代码: Father类 public class Father { public String str = "父类变量"; public String strOnly = "父类变量,子类没有同名变量";
Java 子类调用父类构造函数----super()详解
Java 子类调用父类构造函数----super()详解
Super 关键字在子类构造方法和普通方法中的应用
1.构造方法中的应用:   在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来。     当你new一个子类对象的时候,必须首先要new一个父类的对象出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要ne
子类调用父类方法(super关键字)
package testextends; public class Pad3 extends Computer3{ //子类:平板电脑 String sayhello(){ //重写父类方法‘打招呼’ return super.sayHello()+ "ipad";//调用父类方法并添加字符串 } public static void main(Strin...
Java继承,子类默认在构造函数中用super()调用父类构造函数
1.子类继承父类的方法属性,并重写父类的方法,子类修饰符不能比父类方法的修饰符的范围狭窄。 Protect 与 默认 区别: protected :成员 本类和子类可以访问。【其他类不可以使用(即使同一个包中)】 Frinedly(友好/默认):成员 本类和子类,同包可以访问【其他类可以使用】 继承中的构造方法的执行顺序:父类有构造函数,子类也写构造方法的时候必须显示的调用父类的构造方
python中子类调用父类方法几点细节(正确使用super)
近期在写python程序时意外发现了子类调用父类方法的一些细节问. 仔细学习做笔记如下: 子类的方法要显示调用父类的方法,不调用系统不会默认调用(不同于java) 调用方法有3种, 如下面的程序中的标记的 12,13,14 三行(任何一种方法都可以) a) persion.__init__(self, name, age) b) super(student, self)
Super关键字和调用父类构造器
一、子类不会获得父类的构造器,但子类构造器里可以调用父类构造器初始化代码。 1.1 在一个构造器中调用另一个重载的构造器,使用this调用来完成。如下代码段:public class Component { private String name; private int age; public Component(String name) { thi
一个子类要调用父类的方法时,默认是使用this还是super?
因为子类已经继承了父类的所有方法,子类也未去重写这些方法,这些方法实际上已经属于子类,那么使用时,如果我们不写this或super,类也不报错;使用this或super也正确。那我们什么也不写的那种情况到底默认是哪个? 看看下面的代码 package com.java.three; public class Father { public void printTheInfoma