1.继承

继承是从已有类得到继承信息创建新类的过程。继承提高代码重用性。关于私有属性,官方文档解释:子类不能继承父类的私有属性,但是如果子类中有公共方法操作父类私有属性,则表现出子类可以使用父类的私有属性。

注:继承关系不可滥用,例如:java.util包下Properties类直接继承Hashtable,这就是对继承关系的滥用。这里服用代码的方式应该是Has-A而不是Is-A。另一个方面,容器都属于工具类,继承工具类本身就是一个错误做法。试用工具类最好方式是Has-A关联关系或者Use-A依赖关系。

2.封装

隐藏细节,把数据和操作数据的方法绑定起来,对外提供接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。一个方法就是一次封装,不关注方法实现,只关注输入输出结果。

3.多态

通俗来讲,用同样的对象引用调用同样的方法但是做了不同的事情。多态就是同一个接口,使用不同的实例而执行不同的操作。

多态实现的条件:

  1. 继承
  2. 重写
  3. 向上转型

多态体现:父类引用变量可以指向子类对象,在使用多态后的父类引用变量的子类调用方法时,会调用子类重写后的方法。

多态特点:

1.多态成员变量:编译运行看左边(成员变量只能取到父类的值)

Fu f = new Zi();

System.out.println(f.num);//只能取到父类中的值

2.多态成员方法:编译看左边,运行看右边

Fu f = new Zi();

System.out.println(f.show());//f的门面类型是Fu,但实际类型是Zi,所以调用的是重写后的方法

4.补充:抽象

将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象。抽象具有通用型,抽象只关注对象有哪些属性和行为,并不关注行为细节。

Java面向对象三大特征理解相关推荐

  1. Java面向对象三大特征---继承

    系列文章目录 Java面向对象三大特征-多态 Java面向对象三大特征-封装 文章目录 系列文章目录 前言 一.概念 二.举例说明 三.语句格式 三.为何要使用继承 四.super与this关键字 五 ...

  2. JAVA面向对象三大特征:

    JAVA面向对象三大特征: 1.封装 (英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的 ...

  3. Java面向对象三大特征的理解

    面向对象三大特征的理解 初始理解 封装 继承 多态 初始理解 其实这些知识很早就有接触,而且一些概念也牢记于心了.自己叙述面向对象的特征会是这样的: 面向对象的三大特征是封装.继承和多态.封装是对代码 ...

  4. Java 面向对象三大特征

     面向对象三大特征: 封装性 继承性 多态性 1. 封装性  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只给特定的对象或其他类进行访问,即使用不同的访问统治权限使类被不同的 ...

  5. Java—面向对象三大特征(封装,继承)

    面向对象的三大特征: 面向对象的三大特征: 封装: 访问修饰符 封装概念 封装的目的 toString方法 Object类(简单提及) 继承: 方法 继承的目的 覆盖 | 重写 super关键字 继承 ...

  6. java面向对象三大特征及五大原则

    java面向对象 一.java面向对象的三大特征 1.封装(Encapsulation) 封转是指属性私有化 根据需要提供setter和getter方法来访问属性 隐藏具体属性和实现细节,仅对外开放接 ...

  7. Java面向对象三大特征:封装、继承、多态

    一.封装   封装这个词听起来好象是将什么东西包裹起来不要别人看见一样,就好象是把东西装进箱子里面,这样别人就不知道箱子里面装的是什么东西了.其实 JAVA 中的封装这个概念也就和这个是差不多的意思. ...

  8. 【职坐标】java面向对象三大特征(一)——封装

    面向对象三大特性之封装篇 什么是封装? 信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一 ...

  9. java面向对象三大特性理解

    面向对象主要由三大特性: 封装 继承 多态 一.封装定义: 编写一个类就是对数据和数据的操作封装,封装即时隐藏一切可隐藏的东西,只向外界提供最简单的编程接口.(简单的来说在Java中一个文件包下的类文 ...

最新文章

  1. 为了故意刁难AI,科学家们制造了这1200个问题,超强AI被“打回原形”
  2. php解析QQmv直链,网易云音乐直链解析API源代码^-^
  3. 确定msm8937+android7.1采用的dtb文件
  4. 细节之中自有天地,整洁成就卓越代码
  5. 关于win时间同步的解决方案
  6. jsp常用的onchange事件
  7. “相当一部分”HPE公司OpenStack工作人员被转移至SUSE
  8. 索引法则--LIKE以%开头会导致索引失效进而转向全表扫描(使用覆盖索引解决)...
  9. 长沙android工程师,长沙安卓工程师辅导
  10. 搜索框 UISearchBar的取消按钮改为中文
  11. JetBrains系列产品学生认证申请免费使用教程
  12. Ruby中的concat()方法
  13. 前缀、中缀、后缀(逆波兰)表达式以及逆波兰表达式实现简单计算器
  14. 快速解决Ubuntu缺少各种驱动的方法: 解决ThinkPad T14s没有无线网卡驱动以及WIFI无法连接等驱动问题
  15. hdu2859 Phalanx(线性dp)
  16. 如何给微信公众号增加留言功能?
  17. CSDN写博客出现浏览器“不支持隐私模式,需用普通模式访问”处理
  18. html里如何打出五角星,html5中怎么做五角星
  19. 美术加:想要画好人物头像,头骨结构先吃透~
  20. 如何在日内趋势中交易?

热门文章

  1. 智云Smooth Q支持延时摄影多种滤镜 拍电影如此简单
  2. 【sylar】框架篇-Chapter1-搭建开发环境
  3. P2622 关灯问题II
  4. 数电实验5 秒表初步
  5. 云时代数据安全才是真正的安全 —— 天空卫士 副总裁 巩文坚
  6. Oracle中的plsql编程
  7. 前端工程师,掌握哪个后端语言好一些?
  8. python学习连续剧2
  9. 【计算机网络】物理媒介-双绞铜线、同轴电缆、光纤、陆地无线电信道和卫星无线电信道
  10. 抖音矩阵号系统搭建,企业同时管理1000+账号的基础逻辑