an0*_*00b 5 java modularity nested
我读过的Java教程,比如使用嵌套类来演示概念,特性或用法.
这使我最初实现了一个我创建的示例项目:主活动类中有很多嵌套类.
它工作,但现在我有一个可怕的单片.java文件.我发现它有点不方便,我现在打算打破多个.java文件/类.
然而,在我看来,有时可能有理由不从他们的封闭课堂上上课.
如果是这样,考虑到模块化和易维护性,保持模块大的原因是什么?
是否存在将嵌套类转换为顶级类是不切实际(甚至不可能)的情况?换句话说,是否只有嵌套类可以满足某些功能?
非静态嵌套类具有对封闭类的创建者实例的隐式引用,并且它还可以访问封闭类的每个成员(甚至是私有成员)。如果将嵌套类设置为顶级,则会丢失此内容:
public class Outer {
private String s;
public void setS(String s) {
this.s = s;
}
public class Inner {
public String getOuterS() {
// This is legal only if Inner is
// non-static and nested in Outer
return s;
}
}
}
public class Main {
public static void main(String[] args) {
Outer o = new Outer();
o.setS("Hello world!!!");
// i now has access to every o member
Outer.Inner i = o.new Inner();
// Prints "Hello world!!!"
System.out.println(i.getOuterS());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |