作者:Flyingis
内部类的功能在于,每个内部类都能独立的继承一个接口的实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。内部类使得多重继承的解决方案变得完整,并且内部类允许继承多个非接口类型(类或抽象类)。
interface Sa {
void today();
void yesterday();
boolean check();
}
public class Sab {
private i = 10;
private Sab_inner implements Sa {
void today() {
return i;
}
void yesterday() {
return --i;
}
Boolean check() {
return i = = 0;
}
}
public Sa getSa() {
return new Sab_inner();
}
}
从上面这段代码可以看出,如果我们只是声明外围类Sab实现接口Sa,那么对于某个特定的Sab对象只能有一个Sa。但是如果使用了内部类,我们就可以通过方法getSa()来获得一个实现Sa接口的序列,这样就增加了应用上的灵活性。
在控制框架,特别是图形用户界面的设计中更能体现内部类的价值,具体的可以参考这方面的资料。