抽象类和接口的关系对比

抽象类
抽象类主要用来定义一些抽象的属性和方法,留待子类根据自己的情况实现这些属性和方法
抽象类不能生成实例,即不能new一个抽象类的实例
抽象类可以被继承,除非继承该抽象类的子类仍声明为抽象的,否则就必须实现这个抽象类的所有抽象属性和方法
一个类只能继承一个抽象类,如果需要实现多个类的抽象方法,必须使用接口
子类与抽象类是is关系
接口
接口主要用来定义一些抽象的属性和方法,留待实现类根据自己的情况实现这些属性和方法
接口不能生成实力,即不能new一个接口的实例
抽象类可以被实现,除非实现该接口的类声明为抽象的,否则就必须实现这个接口的所有抽象属性和方法
一个类可以实现多个接口
实现类与接口是has关系 
说明:这里面有些地方可能需要改动,具体请参见本人的另一篇文章《接口(interface)原来是可以被继承(extends)的》

















本文转自周金桥51CTO博客,原文链接:http://blog.51cto.com/zhoufoxcn/164398 ,如需转载请自行联系原作者


上一篇:Puppet核心配置文件详解


下一篇:我们专访了CES负责人,中国公司“很疯狂”,外国参展商都震惊了