内部类的作用:
1、隐藏内部实现,高内聚。
2、Java多继承的实现。
何为Java的多继承?
Java只支持单一继承,所以如果需要多继承,那么可用内部类来实现。
如何实现?
1、父类A
public class A {
public int age(){
return 1;
}
}
2、父类B
public class B {
public String name(){
return "张三";
}
}
3、内部类的包含类 C
public class C extends OtherDEFClass{
private class EA extends A { //继承类A,可有选择的覆盖父类方法。
public int age(){
return super()+1;
}
}
private class EB extends B { //继承类B
public String name(){
return super()+"EB";
}
}
public int age(){
return new EA().age(); //可添加自己需要的额外处理
}
public String name(){
return new EB().name();
}
}
此时,调用类C的age方法或者name方法,就可调用到内部类中的具体方法了。
使用的思考:
1、隐藏内部实现。
2、配合模板方法进行使用。