gpt4 book ai didi

java - Object 类中如何使用 getName() 方法?

转载 作者:行者123 更新时间:2023-12-01 08:00:32 25 4
gpt4 key购买 nike

我是JAVA语言的新学习者。在JAVA中,Object类是类层次结构中的根类(或)最顶层的 super 类(每个类都是Object的子类)。因此,我们创建的每个类都具有 Object 类的 11 个方法(如 JAVA API 中所述),我们可以使用它们,例如 toString() 方法。

但是toString()方法的定义使用了Object类中未定义的方法getName()。 (我知道toString()方法使用了getName()方法,因为我已经使用jd-gui查看安装在我的Object.class文件的源代码电脑)

如果我们创建一个java文件

class test {
public static void main(String args[]) {
test t = new test();
System.out.println(t.getClass().getName());
/* Don't understand how I am able to use getName() method without extending any other
*class containing *getName() method.*/
}
}

上面的输出为“test”,没有错误。

来到 Object 类,它是根类,因此它不会扩展任何其他类,并且要执行任何工作,它应该定义自己的方法。

我的问题是,我们定义的 Object 类和类如何能够在其类中不定义 getName() 方法的情况下使用此方法?

除了 Object 类之外,是否还扩展了其他类?

最佳答案

getName()Class 的一种方法类,而不是 Object类(class)。 Object有一个getClass()返回 Class 的方法实例。

t.getClass()返回 Class<test> 的实例,其中有方法 getName() 。这允许您调用 t.getClass().getName() .

关于java - Object 类中如何使用 getName() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25592965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com