Java中的NoDefClassFoundError

Java中的NoDefClassFoundError,java,swing,Java,Swing,在上面,当我编译这段代码时,它已成功编译,完成后,我手动删除了类文件“cde.investregpropertysize”,当我尝试运行这段代码时,出现了以下错误 public void setParent(Window parent) { if (true) { this.parent = ((abc.InvestRegPropertySeize) parent); } else { this.parent = ((cde.InvestRegPr

在上面,当我编译这段代码时,它已成功编译,完成后,我手动删除了类文件“cde.investregpropertysize”,当我尝试运行这段代码时,出现了以下错误

public void setParent(Window parent) {
    if (true) {
        this.parent = ((abc.InvestRegPropertySeize) parent);
    } else {
        this.parent = ((cde.InvestRegPropertySeize) parent);
    }
}

但我认为不应该发生这种情况,因为条件始终为真,并且在运行时不需要“cde.investRegPropertySize”类文件。那么发生这种情况的原因请告诉我解决方案。

执行类似操作的唯一方法是使用。删除代码中的两个强制转换,这样类就不会在运行时解析。然后使用反射来访问字段和调用方法。反射功能强大,但代码可读性不强,并且会带来一些性能开销。所以在使用它之前要三思。

是的,您需要类文件才能使用该类。把它放回去。或者删除[now missing]类的用法。(无论代码是否从未运行,解析引用的类都是在执行之前完成的。)
NoDefClassFoundError of'cde.InvestRegPropertySeize'