我有一个本地课程...
public class Outer {
public void wrapper() {
class Local {
}
}
}
我有一个需要引用本地类的测试......
Outer.wrapper.Local.class ## this doesn't seem to work
如何引用本地类?
我有一个本地课程...
public class Outer {
public void wrapper() {
class Local {
}
}
}
我有一个需要引用本地类的测试......
Outer.wrapper.Local.class ## this doesn't seem to work
如何引用本地类?
您只能在声明它的方法内引用 Local Inner 类:
public void wrapper() {
class Local {
}
Local obj = new Local();
}
由于范围有限,此类往往不是很有用。如果您找到了一个有效的用例来定义,请查看本教程。
本地类(又名本地内部类或方法本地内部类):
本地类被定义为方法中的内部类。与局部变量一样,局部内部类声明在方法调用之前不存在,并且在方法返回时超出范围。这意味着它的实例只能从它声明的方法中创建。
这个内部类只能在其定义之后被实例化(即,实例化代码必须跟在声明之后)。内部类无权访问方法的局部变量,除非这些变量是最终的或实际上是最终的。
这是一个例子:
int length = 10; // outer class's instance variable
public void calculate() {
final int width = 20;
class Inner { // inner class definition
public void area() {
System.out.println(length * width);
}
}
Inner local = new Inner(); // this statement comes only after local class's definition
local.area();
}
笔记: