jvm在动态中从抽象类创建类对象是否昂贵?

Sea*_*yen 2 java

我试图使用模板设计模式,所以我使用抽象类来定义我的算法,如下所示:

abstract class MyTemplate
{
    public void execute()
    {
       //... do something
       doSomething();
    }
    public abstract void doSomethig();
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我将每次创建一个MyTemplate实例,如下所示:

MyTemplate cleanUp = new MyTemplate()
{

public void doSomething()
{
// execute cleanup 
}
}
cleanUp.execute();
Run Code Online (Sandbox Code Playgroud)

是否为JVM创建了一个昂贵的抽象类对象?

谢谢,

肖恩阮

Mac*_*Mac 6

不,编译器在编译时生成匿名内部类.实例化此类的对象并不比任何其他类更昂贵.