可以说我有一个外部类和一个内部类。是否可以编写一个内部类方法,以便它只能由外部类访问,而不能由外部类之外定义的类访问,例如, MyForeignClass
?你可以制作一个只能由外部类访问的内部类的方法吗?
class MyForeignClass {
MyForeignClass() {
MyOuterClass instance = new MyOuterClass();
MyInnerClass innerClassInstance = instance.getMyInnerClassInstance();
// illegal method call, only MyOuterClass can call this
innerClassInstance.privateInnerClassMethod();
}
}
class MyOuterClass {
class MyInnerClass {
MyInnerClass() {}
void publicInnerClassMethod() {
// accessible from outside MyOuterClass
}
void privateInnerClassMethod() {
// accessible from inside MyOuterClass
}
}
MyInnerClass instance;
MyOuterClass() {
instance = new MyInnerClass();
instance.privateInnerClassMethod();
}
MyInnerClass getMyInnerClassInstance() {
return instance;
}
}
让它私人? –
声明内部类是一个私有类。 –
@GlenPierce不,因为'publicInnerClassMethod'应该是“可以从MyOuterClass之外访问的”。使课程“私人”排除这一点。 –