接口:

定义:是一种行为规范,是一种特殊的抽象类,所有的方法都是抽象的,所有的变量都是常量.

接口中的成员修饰符是固定的:

成员方法:都是静态的,共有的;

成员变量:都是常量,共有静态常量

接口的特点:

类与类之间的关系叫做继承,一个类只能有一个父类;

类与接口之间的关系叫做实现,一个类可以实现多个接口

类在继承一个类的同时,还可以实现多个接口,弥补了JAVA单继承的不足;

在JAVA 中,接口与接口之间也有关系,接口继承接口,一个接口可以同时继承多个接口

接口不能实例化对象,接口没有构造方法

抽象类与接口的区别

抽象类用abstract 修饰,接口用interface 修饰

抽象类中可以包含非抽象方法,也可以包含抽象方法,接口中只有抽象方法

接口类和抽象类都不能被实例化,抽象类有构造方法,接口类没有

多态的前提

类与类或者接口之间有关系

子类重写父类的方法

父类引用子类对象

多态的向上转型与向下转型:

向上转型:子类对象复制给父类引用;

向下转型:父类引用强制转化为子类类型

多态注意事项:成员方法调用的特点:编译看左边,运行看右边

成员变量的特点:编译看左边,运行看左边

多态的好处和弊端:

好处:提高代码的扩展性;

弊端:虽然提高程序的拓展性,但是父类不能直接访问子类的属性和方法,必须向下转型

转载于:https://www.cnblogs.com/xue-er/p/9360846.html

Java基础入门(八)之面向对象二相关推荐

  1. 【黑马程序员】《Java基础入门》——02 面向对象

    1 方法的初始化 1.1 类的基本概念 (1)属性:描述对象的特征(C++中的数据成员) (2)方法:描述对象的行为(C++中的成员函数) (3)类的内容:①成员变量 ②成员方法 ③成员内部类(Jav ...

  2. java基础入门-02-【面向对象】

    Java基础入门-02-[面向对象] 8.面向对象 8.1. 类和对象 8.1.1 类和对象的理解 8.1.2 类的定义 8.1.3 对象的使用 8.1.4 学生对象-练习 8.2. 对象内存图 8. ...

  3. Java基础入门-详细总结

    Java基础入门知识总结 一.java基础 1.1 java基础知识 1.2java的基本数据类型 1.3运算符 1.4循环结构 1.5数组 二.面向对象 2.1方法 2.2面向对象 2.3内存管理 ...

  4. 叮!您收到一份超值Java基础入门资料!

    摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例带领大家J ...

  5. 叮!您收到一份超值Java基础入门资料! 1

    Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例带领大家Java ...

  6. Java实习生常规技术面试题每日十题Java基础(八)

    目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...

  7. java从入门到放弃(二)

    java从入门到放弃(二) //求园面积 结果保留5位小数double ymj = Math.PI*Math.pow(``2.14``,` `2``);DecimalFormat df1 =new D ...

  8. Java基础入门必备词汇汇

    #Java基础入门必备词汇汇 一 1.Public ['pʌblik] 公开 2.Static ['stætik] 静态 3.void [vɔid] 无返回 4.main [main] 主要的,主方法 ...

  9. Java基础入门(持续更新)

    目录 Java基础入门1 1.Hello Java 1.1 Java简介 1.2 Java体系与特点 java的特性 1.3 Java 跨平台原理 Java 技术两种核心机制 Java 虚拟机(JVM ...

  10. java课后习题及答案_《java基础入门》课后习题及答案.doc

    <java基础入门>课后习题及答案.doc <Java 基础入门>课后习题及答案博学谷--让 IT 教学更简单,让 IT 学习更有效<Java 基础入门> 课后习题 ...

最新文章

  1. PJ:细菌挥发性物质和光合信号激活低铁响应途径
  2. 基于SSH实现在线课程学习系统
  3. mac os 系统密码正确的 但是进不了系统
  4. WCF消息拦截,利用消息拦截做身份验证服务
  5. git 常用操作命令(Common operation)
  6. [译] React Hooks: 没有魔法,只是数组
  7. .NET下使用socket.io随笔记录
  8. python网络爬虫系列(九)——打码平台的使用
  9. c语言vbs,我的vbs整人程序
  10. 技术实践丨React Native 项目 Web 端同构
  11. 用例图-是外部用户(被称为参与者)所能观察到的系统功能的模型图
  12. 开课吧Java课堂:线程间是如何实现通信
  13. 【转】理清基本的git(github)流程
  14. 衔着树枝飞跃太平洋的傻鸟!(童话版)
  15. JAVA九宫格拼图游戏怎么计时_九宫格拼图怎么拼 如何玩转九宫格拼图游戏
  16. 联想年报有看头:供应链展现韧性,PC迎来新机遇
  17. 鱼刺少的鱼都有哪些 这几种鱼刺少又美味
  18. 戴尔笔记本耳机插着没反应?
  19. ModuleNotFoundError: No module named ‘myitem.myapp‘
  20. 加速PG中vacuum

热门文章

  1. 由古书看,古人应该知道地球是圆的
  2. LINUX下载编译gperf
  3. 时空解析理论的实验检验方法
  4. 纽微特记事:有了工作产出,领导吓坏了
  5. 如何正确获取安卓内置SD卡的路径
  6. python str has no attribute_python – AttributeError(“’str’object has no attribute’read’”)...
  7. 未能对git remote进行身份验证_用好Git和SVN,再也不怕跑路了!
  8. c语言 删除程序注释,C/C++ 源文件删除注释代码
  9. svn linux clean up,SVN清理失败 (svn cleanup) 的解决方法
  10. PHP添加网站版权信息,如何将版权和作者信息添加到用PHP创建的图像?