gpt4 book ai didi

java - 即时创建实例在 Java 中称为什么?

转载 作者:搜寻专家 更新时间:2023-11-01 01:06:51 25 4
gpt4 key购买 nike

在代码中,

class MyObject {
public String doThing() {
return "doh";
}
}

class MyClass {
private myObject = null;
public MyClass() {
myObject = new MyObject() {
public String doThing() {
return "huh?";
}
};
}

当 myObject 被分配一个新对象时,它叫什么?我在技术上试图找出“doThing”是否覆盖了 MyObject 的方法,或者它是否重新定义了它,但我不知道要搜索什么来找到答案——也不知道在不知道它是什么的情况下要问什么问题当您动态创建对象的新实例并为其提供实现时调用。

最佳答案

您正在创建一个匿名内部类,它是MyObject 的子类,所以是的,您正在覆盖doThing 方法,如果是那就是你问的。

顺便说一下,匿名类就像命名类一样,它们在它们的 .class 文件中有自己的字节码,它的命名就像它们的封闭类一样,后缀是美元符号和数字。

如果你想自己试验,你可以使用 myObject 的方法 getClass() 并提取有关它的信息,如名称、父级、实现的接口(interface)、通用参数等

关于java - 即时创建实例在 Java 中称为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911795/

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