Java中的getClass方法

4

Object类中的getClass方法如何能够动态返回Class?

2个回答

11

它不返回类name - 它返回代表该对象类型的Class。每个对象“知道”它实际上是什么类型 - 这就是类型转换如何在执行时成功或失败的原因。Object.getClass()只是从对象中检索相关信息。

如果你有一个仅包含单个int的类,每个对象仍将占用超过4字节的内存:实际上还有一个对象“头”,其中包含引用到对象的实际类型、与该对象相关的监视器信息等等。


2
类也是一种泛型类型,因此如果我执行 Blah blah = new Blah();``blah.getClass() 返回一个 Class<Blah> - Powerlord

1

这与动态无关。对象的类永远不会改变。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接