标签:区别 实现 abstract 接口 抽象 抽象类 方法
抽象类在类前面须用 abstract 关键字修饰,一般至少包含一个抽象方法,抽象方法指只有
声明,用关键字 abstract 修饰,没有具体的实现的方法。因抽象类中含有无具体实现的方
法,固不能用抽象类创建对象。当然如果只是用 abstract 修饰类而无具体实现,也是抽象
类。抽象类也可以有成员变量和普通的成员方法。抽象方法必须为 public 或 protected(若
为 private,不能被子类继承,子类无法实现该方法)。若一个类继承一个抽象类,则必须
实现父类中所有的抽象方法,若子类没有实现父类的抽象方法,则也应该定义为抽象类。
接口用关键字 interface 修饰,接口也可以含有变量和方法,接口中的变量会被隐式指定为
public static final 变量。方法会被隐式的指定为 public abstract,接口中的所有方法均不
能有具体的实现,即接口中的方法都必须为抽象方法。若一个非抽象类实现某个接口,必须
实现该接口中所有的方法。
区别:
1)抽象类可以提供成员方法实现的细节,而接口只能存在抽象方法;
2)抽象类的成员变量可以是各种类型,而接口中成员变量只能是 public static final 类型;
3)接口中不能含有静态方法及静态代码块,而抽象类可以有静态方法和静态代码块;
4)一个类只能继承一个抽象类,用 extends 来继承,却可以实现多个接口,用 implements
来实现接口。
标签:区别,实现,abstract,接口,抽象,抽象类,方法 来源: https://www.cnblogs.com/15078480385zyc/p/16539398.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。