gpt4 book ai didi

java - 实例化一个抽象类或接口(interface),可能吗?

转载 作者:行者123 更新时间:2023-12-02 07:44:55 24 4
gpt4 key购买 nike

这很好用。

package abstracttest;

public abstract class AbstractClass implements NewInter {

public abstract void doStuff();

public void doStuff2() {
System.out.println("in doStuff2");
}

/*
* public static void main(String a[]) { AbstractClass ab = new
* AbstractClass() {
*
* @Override public void doStuff() { // TODO Auto-generated method stub
* System.out.println(" doStuff "); }
*
* @Override public void doInter() { // TODO Auto-generated method stub
*
* } };
*
* ab.doStuff2(); ab.doStuff();
*
* NewInter ni = new NewInter() {
*
* @Override public void doInter() { // TODO Auto-generated method stub
* System.out.println("do Inter"); }
*
* }; ni.doInter();
*
* AbstractClass ab1 = new AbstractClass(); }
*/

}

interface NewInter {

String con = "Hell";

void doInter();
}

class Impl extends AbstractClass {

@Override
public void doInter() {
// TODO Auto-generated method stub

}

@Override
public void doStuff() {
// TODO Auto-generated method stub

}

public static void main(String[] s) {
AbstractClass ab = new AbstractClass() {

@Override
public void doInter() { // TODO Auto-generated method stub
System.out.println("impl doInter");
}

@Override
public void doStuff() { // TODO Auto-generated method stub
System.out.println("impl doStuff");
}

};
ab.doInter();
ab.doStuff();

NewInter ni1 = new NewInter() {

@Override
public void doInter() {
// TODO Auto-generated method stub

}
};
ni1.doInter();
}

}

我能够从抽象类的 main() 实例化抽象类接口(interface)类Impl
这怎么可能?
我本来期待一个异常,但调用工作正常。
有人可以解释一下这些现象吗?我很困惑。

A Java abstract class also cannot be instantiated, but can be invoked if a main() exists.

我在 blog 中读到了这篇文章。这是什么意思?

还有其他方法可以调用抽象类的构造函数吗?有的话请告诉我。

最佳答案

不,您没有实例化它们。您仅创建了实现接口(interface)或扩展抽象类的匿名类。这些匿名类类型的对象实际上被实例化。

关于java - 实例化一个抽象类或接口(interface),可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14976545/

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