我是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 ");
}
}
最终输出是:
我是球员的名字;成功地继承了
我是球员的名字;成功地继承了
我想要的输出:
我是球员的名字;成功继承(继承此类的球员)
我是玩家的名字;成功继承(继承此类的类)
答案 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作为父类。