在程序2中引用程序1中自定义的类出现标题那种错误。
简单代码如下:
程序1:
package sharp;
public class 1{
class a extends Exception{}
class b extends a{}
class c extends b{}
}
程序2:
package sharp;
import sharp.1.*;
public class 2{
if()
throw new c();
}
程序2的throw new c();这条语句就会出现错误:
an enclosing instance that contains sharp.1.c is required
请问这个问题怎么解决,谢谢。
------解决方案--------------------
在网上查了一下,
创建非static内部类的实例时,需要使用外围类的一个实例来使用new语法
例如 throw (new 1()).new c();
或者将a、b、c都声明为static