gpt4 book ai didi

java - 我们可以创建一个抽象类的对象吗?

转载 作者:行者123 更新时间:2023-12-04 20:49:11 24 4
gpt4 key购买 nike

我只是对抽象类的概念感到困惑。请解开我的疑惑。 Abstract 类的定义说我们不能创建此类的对象,然后我们称之为 A a = new A() { }。示例如下:

public abstract class AbstractTest {
public abstract void onClick();
public void testClick() {

}
}

public class A {
AbstractTest test = new AbstractTest() {
@Override
public void onClick() {

}
};
}

那么test是一个对象还是什么?

最佳答案

testAbstractTest 的匿名具体子类的对象(注意它实现了AbstractTest 的所有抽象方法),这就是为什么可以实例化这个子类的原因。

另一方面,

AbstractTest test = new AbstractTest();

不会通过编译,因为那会尝试实例化一个抽象类。

关于java - 我们可以创建一个抽象类的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33994009/

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