继承:显示哪个类继承哪个

时间:2017-06-22 13:34:38

标签: java

我是Java新手,正在学习继承概念。问题非常简单。如果我的一个类从其他类继承了一个方法,我怎么能显示它是由classX继承的?

public class class1 extends ClassPname {
    public static void main (String[] args){
        className obj3=new className();
        class1 obj2=new class1();
        obj3.Name();
        obj2.Name();
    }
}

这是ClassPname代码:

public class ClassPname {
    public void Name(){
        System.out.println("I am players name ;Succesfully inherited  by ");
    }
}

最终输出是:

  

我是球员的名字;成功地继承了

     

我是球员的名字;成功地继承了

我想要的输出:

  

我是球员的名字;成功继承(继承此类的球员)

     

我是玩家的名字;成功继承(继承此类的类)

1 个答案:

答案 0 :(得分:1)

可以通过getClass().getSuperclass()

轻松完成
public class DemoApplication {

    public static void main(String[] args) {
        Class<?> superclassOfB = new B().getClass().getSuperclass();
        Class<?> superclassOfA = new A().getClass().getSuperclass();
        System.out.println(superclassOfB);
        System.out.println(superclassOfA);
    }

    static class A {

    }

    static class B extends A {

    }
}

输出如下:

class com.example.demo.DemoApplication$A
class java.lang.Object

所以这意味着如果你编写扩展它有一个显式的父类,但同时位于层次结构顶部java.lang.Object的位置。因此,如果您没有为您的类使用extends,则此类默认将java.lang.Object作为父类。