is-a, like-a 和 has-a 的区别 is-a: 强调继承关系, 如果A is-a B, 那么B就是A的父类;like-a: 代表组合关系, 如果A like-a B, 那么B就是A的接口;has-a: 如果A has-a B, 那么B就是A的组成部分; 内部类与外部类修饰符的区别 内部类可以是 static, public, default, protected 和 private 修饰符修饰;外部类只能是 public, abstract 和 final 修饰符修饰;