首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >getClass()在基类的构造函数中报告哪个类

getClass()在基类的构造函数中报告哪个类
EN

Stack Overflow用户
提问于 2012-09-28 18:45:00
回答 1查看 5.1K关注 0票数 17

在Java语言中,假设在用作基类的类的构造函数中调用的getClass()将提供有关派生类的信息,而不是基类的类,这样做安全吗?

它似乎是有效的,但我猜这并不一定意味着它是安全的。例如,如果我有以下两个类:

代码语言:javascript
复制
public class Parent {
    public Parent() {
        System.out.println(getClass().getName());
    }
}

和:

代码语言:javascript
复制
public class Derived extends Parent {
    public Derived() {
        super();
    }

    public static void main(String... args) {
        new Derived();
    }
}

当我在派生类中运行main()方法时,它输出:Derived (这正是我所希望的)。但是,我可以跨JVM依赖该行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 18:50:29

getClassObjectand returns the class of this方法之一

返回此对象的运行时类。返回的class对象是被表示类的静态同步方法锁定的对象。

所以,是的,它总是会返回Derived

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12638504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档