Java抽象类与接口的区别-阿里云开发者社区

开发者社区> 沉默术士> 正文

Java抽象类与接口的区别

简介:
+关注继续查看

 含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不必是抽象的,抽象类中定义抽象方法必须放在具体子类中实现,所以呀,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有 方法,那么,子类也必须定义为抽象类。
  接口(interface)可以说成是抽象类的特例。接口中的所有方法都必须是抽象的,接口中的方法定义默认为public abstract 。接口中的变量是全局常量,即public static final修饰的。 看一下他们在语法上的区别吧!
  1,抽象类里可以有构造方法,而接口内不能有构造方法。
  2,抽象类中可以有普通成员变量,而接口中不能有普通成员变量。
  3,抽象类中可以包含非抽象的普通方法,而接口中所有的方法必须是抽象的,不能有非抽象的普通方法。
  4,抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
  5,抽象类中可以包含静态方法,接口内不能包含静态方法。
  6,抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。
  7,一个类可以实现多个接口,但只能继承一个抽象类。再补充点两者在应用上的区别: 接口更多的是在系统框架设计方法发挥作用,主要定义模块之间的通信,而抽象类在代码实现方面发挥作用,可以实现代码的重用

最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java之next()与nextline区别
下面先来举个例子来说明: package com.hqj.java.nextline; import java.util.Scanner; /**  * @author HuangQinJian 下午7:26:08 2016年10月20日  */ ...
637 0
抽象类
抽象类定义1、语法定义:抽象类钱使用abstract关键字修饰,则该类为抽象类。2、应用场景:a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
500 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7690 0
Java面向对象高级--抽象类的基本概念------abstract
<h1>抽象类的概念:</h1> <p>包含一个抽象方法的类就称为抽象类。</p> <p>抽象方法:只声明但未实现的方法称为抽象方法,使用abstract关键字声明。</p> <h1>抽象类的定义及使用规则:</h1> <div> <img src="http://img.blog.csdn.net/20130925145338703" alt=""><br> </div> <d
1000 0
java-基础-接口和抽象类
 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。
744 0
JAVA抽象类,接口,多态,抽象方法,一次列举
HEAD FIRST这系列的书,真的让人产生阅读的快感~~:) 和那套明日科技的一样,。。 interface Nose { public int iMethod(); } abstract class Picasso implements Nose { publ...
726 0
+关注
5518
文章
253
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载