...
- no-longer-inner-class
- no-longer-inner-class-private-private ( )
- , , . , , ...
a)
class Outer {
class SomeInnerClass extends SomeClass {
}
}
class SomeClass {
}
b)
( ) , , . .
abstract class SomeClass {
protected abstract SpecificData getSpecificData();
void someMethod() {
SpecificData specificData = getSpecificData();
}
}
class Outer {
private SpecificData mSpecificData = new SpecificData();
class SomeInnerClass extends SomeClass {
@Override
protected SpecificData getSpecificData() {
return OuterClass.mSpecificData;
}
}
}
, , ... , GeneralData ( SomeClass) getSpecificData() () .
Again: This can be terribly misused to create very poor unreadable code, but it can also be used for very nice patterns under the right circumstances, one way or another it should answer the original question.
source
share