1:抽象类是用来表达一种抽象的概念,是对类的抽象定义,可以包含抽象的方法,不能被实  
   例化。在系统设计时用来upcast,通过这个类操作统一的接口。
2:接口是更纯粹的抽象类,不能有具体方法和非static的成员,主要是用来类之间的交流,
   设计时,用来扩展类的功能,是java的多重继承的实现方案
3:inner class它是多重继承问题的完整解决方案,能够有效而实际地允许“多重实现继承,即  inner class实际上允许继承多个non-interface,如果拥有的不是interfaces,而是抽象或实在的classes,就必须使用inner class来解决“多重继承”问题