抽象类和接口都是java对事物对象抽象的机制,是多态性的表现。在某些时候它们还可以互换,其实它们还是有区别的。

1,抽象类(abstract class):对某些对象的抽象描述的类(对事物对象行为方法的声明,但是却不实现具体的方法内容,具体的实现需要它的子类自己去实现)

(1)抽象类可以有自己的成员变量,和方法,还有抽象方法。(也可以没有抽象方法)

抽象类的定义:

abstract class  T{

public int i;           //抽象类自己的变量

public void A(){........}   //自己的方法

abstract void S();   //抽象方法

abstract int D();

}

(2)抽象类的抽象方法是靠子类实现的,抽象类可以继承也可以实现接口,而且它的抽象方法不可以实现。如果继承的子类没有实现它的方法,那么子类也是抽象类;如果抽象类实现了接口,那么抽象类不需要实现接口方法,只需要留给子实类实现就行了。

(3)抽象类不能实例化,但是可以有自己构造函数(子类通过它给抽象类成员变量赋值)如果实例化,也只能是继承它的子类实例化。

2,接口:对事物行为(方法)的抽象。

(1),他没有自己的属性,最多只能有公共的静态的常量 :static final 成员变量,只能有抽象方法(不需要abstract 修饰)比如:

定义:

interface T{

static final int i=12;

void A();  //声明方法

int S();

}

(2)接口只能实现,不能继承,而且接口的方法在实现它的子类中必须实现。如果不实现那么就是子接口。

实现:class W implements T{

void A(){......}

int S(){..........}

}

(如有疑问,请多多指教)

java 接口数据类型_Java 数据类型(中): 抽象类与接口相关推荐

  1. java 接口工程_Java工程师(15)抽象类与接口

    抽象类 思考下面程序潜在的问题 交通工具中定义了4个方法,其中行驶方法内部会依次调用启动.加速.停止方法.由于不同的交通工具,启动的方式差异很大,所以交通工具类中并不实现该方法,而是将其交给子类实现. ...

  2. java sortmap分析_Java编程中的SortedMap接口

    SortedMap接口扩展了Map.它确保条目以升序排列. 当调用映射中没有任何项时,有几种方法会引发NoSuchElementException.当对象与映射中的元素不兼容时,抛出ClassCast ...

  3. java中演示类_java中抽象类与接口的图文演示

    java中抽象类与接口的图文演示 首先看图: 抽象方法: 没有方法体的方法.必须在与抽象类中.被abstract修饰的方法. 1.抽象类可以存在抽象方法,可以存在普通方法 2.抽象类不能实例化 3.抽 ...

  4. java接口构造方法吗_Java中抽象类和接口中有构造方法吗?

    Java中抽象类和接口中有构造方法吗? ①在接口中 不可以有构造方法 在接口里写入构造方法时,编译器提示:Interfaces cannot have constructors. A. 构造方法用于初 ...

  5. Java中抽象类和接口在概念、语法和应用上的区别和关系

    2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...

  6. 关于Java中抽象类和接口的一点思索

    Java中抽象类和接口的一点思索 成员方法上的区别: 1. java中的抽象类可以提供成员方法的实现细节,抽象方法只能是被public和protected来修饰 配合abstract关键字,子类需要实 ...

  7. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  8. Java核心编程总结(二、抽象类与接口),linux音频驱动架构

    抽象类不能创建对象,如果创建,编译无法通过而报错 理解:假设创建了抽象类的对象,调用抽象方法,抽象方法没有方法体,无法执行 抽象类一定有而且是必须有构造器,是提供给子类创建对象时,初始化父类成员使用的 ...

  9. php 抽象类 接口 区别,PHP中抽象类和接口有什么区别

    PHP中抽象类和接口有什么区别 发布时间:2021-02-18 15:02:14 来源:亿速云 阅读:70 作者:Leah 这篇文章将为大家详细讲解有关PHP中抽象类和接口有什么区别,文章内容质量较高 ...

  10. JDK8 中抽象类和接口的区别

    英文原文:https://www.javacodegeeks.com/2014/04/abstract-class-versus-interface-in-the-jdk-8-era.html jdk ...

最新文章

  1. python官网下载步骤视频-Python 实现视频下载
  2. android自定义push通知_android通过自定义toast实现悬浮通知效果的示例代码
  3. pandas中inplace_pandas中inplace参数
  4. Pandas库(1):DataFrame类
  5. git 如何删除本地创建的仓库(转载自 https://segmentfault.com/q/1010000002996177?_ea=262685)...
  6. abp框架java,【Net】ABP框架学习之正面硬钢
  7. GC算法 垃圾收集器
  8. Dom4j 解析Xml文档及 XPath查询 学习笔记
  9. 2021,国产数据库的躬行实践之年
  10. photo player 显示 ☞ 列表选中项的处理
  11. OpenCV学习笔记__特征检测与匹配之 SURF算法(转)
  12. 手机计算机快速切换功能,群控系统快速切换多部手机
  13. mbedtls | 10 - 数字证书及 X.509 证书标准
  14. Gigabit Ethernet
  15. Db2性能问题:临时表空间太大,导致连不上数据库
  16. (day12)css3基础
  17. 没有免费午餐定理(No Free Lunch Theorem)
  18. mysql 增加字段
  19. Python基础项目:学生信息管理系统
  20. tushare怎么用 雪球股票网址 网络爬虫python

热门文章

  1. android wifi连接手机,Android手机无线连接利器-AirDroid
  2. python的哪个模块提供了文件处理方法_Python处理文件路径有哪些方法?
  3. android Handler Message传递参数,handler子线程和主线程通讯
  4. jquery mobile 从一个html的page跳转到另一个html的page
  5. 英语四级真题作文 计算机,2019年6月大学英语四级作文范文50例:电脑
  6. 西电计算机科学院实践中心,计算机基础教学实验中心
  7. mybatisPlus中的updateById无法更新null值的字段
  8. P91--商品保存debug完成
  9. 1025 反转链表 (25分)
  10. 文档服务器设置密码,文档服务器设置密码