1、继承:
一般类只能单继承,内部类实现多继承,接口可以多继承
2、封装:
访问权限控制public > protected > 包 > private 内部类也是一种封装
3、多态:
编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪个方法(静态分派)。
运行时多态,体现在同名函数通过不同参数实现多种方法(动态分派)。