Example1Exception和Example1Method属于同一个文件.将它们放在单独的文件中是没有意义的.
public class Example1
{
public class Example1Exception extends Exception
{
public Example1Exception(String message)
{
super(message);
}
}
public static void Example1Method() throws Example1Exception
{
throw new Example1Exception("hello"); //error: non-static variable this cannot be referenced from a static context
}
}
Run Code Online (Sandbox Code Playgroud)
如何在Example1Method中抛出Example1Exception?
Jon*_*eet 11
(假设你实际上声明了Example1Exception使用类声明......,并且方法声明也是固定的......)
Example1Exception是一个内部类 - 它需要引用外部类的封闭实例.
选项:
static就个人而言,我通常会选择最后一个选项 - 为什么你想让它成为一个嵌套的类呢?为什么将它们放在单独的文件中没有意义?除了一堆复杂性之外,将它作为嵌套类获得了什么?你真的想要人们申报吗?catch (Example1.Example1Exception ex) { ... }
如果你真的希望它是嵌套的,你可能只是希望它是一个非内部类 - 你没有使用对一个实例的隐式必需引用Example1.
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |