抽象:

象就是有点模糊的意思,还没确定好的意思。
就比方要定义一个方法和类。但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口。具体怎么用,要做什么,我不用关心,由使用的人自己去定义去实现。

封装:

  属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用

概念:

  封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这个抽象数据类型交流与交互。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。

好处:

  (1)实现了专业的分工。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用,从而实现了专业的分工。

  (2)隐藏信息,实现细节。通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开发权限。

继承:

  个性对共性的属性与方法的接受,并加入个性特有的属性与方法

  继承后子类自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法并不能被继承。

  另外子类可以写自己特有的属性和方法,目的是实现功能的扩展,子类也可以复写父类的方法即方法的重写。实际就是多态性

概念:

  一个类继承另一个类,则称继承的类为子类,被继承的类为父类。

  子类与父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的关系,是is-a的关系,子类是父类更加详细的分类。如class dog extends animal,就可以理解为dog is a animal.注意设计继承的时候,若要让某个类能继承,父类需适当开放访问权限,遵循里氏代换原则,即向修改关闭对扩展开放,也就是开-闭原则。

好处:

  实现代码的复用。

多态:

  多态的概念发展出来,是以封装和继承为基础的。

  多态就是在抽象的层面上实施一个统一的行为,到个体(具体)的层面上时,这个统一的行为会因为个体(具体)的形态特征而实施自己的特征行为。(针对一个抽象的事,对于内部个体又能找到其自身的行为去执行。)

概念:

  相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。

理解:

  子类以父类的身份出现,但做事情时还是以自己的方法实现。子类以父类的身份出现需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(downcast)是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。

转载于:https://www.cnblogs.com/hwaggLee/p/4491188.html

Java基础-四大特性理解(抽象、封装、继承、多态)相关推荐

  1. 大数据笔记8—java基础篇4(面向对象-封装-继承-多态)

    面向对象 一.面向对象 1.面向过程 1.2.举例 1.3.总结 二.面向对象 1.简述 2.举例 3.思想特点 2.1.类的定义格式 2.1.1.简述 2.2.2.格式 2.3.3.示例 三.类的使 ...

  2. Java零基础学习(三)封装继承多态

    1.封装:将属性私有化,通过公共方法来访问,确保安全性. this的含义:对象本身,自己. 2.继承:根据现有类派生出新类的机制,新类中具有基类的属性和方法. 通过extends继承: public ...

  3. c语言编程 菲薄拉,C语言设计模式-封装-继承-多态

    快过年了,手头的工作慢慢也就少了,所以,研究技术的时间就多了很多时间,前些天在CSDN一博客看到有大牛在讨论C的设计模式,正好看到了,我也有兴趣转发,修改,研究一下. 记得读大学的时候,老师就告诉我们 ...

  4. Java 面向对象四大特性

    Java 面向对象四大特性 1.抽象  2.封装  3.继承   4.多态 1.抽象.抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,简单理解是:将需要解决的事情抽象成Java代码. ...

  5. Java继承_Hachi君浅聊Java三大特性之 封装 继承 多态

    Hello,大家好~我是你们的Hachi君,一个来自某学院的资深java小白.最近利用暑假的时间,修得满腔java语言学习心得.今天小宇宙终于要爆发了,决定在知乎上来一场根本停不下来的Hachi君个人 ...

  6. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  7. 小白理解——封装继承多态

                                      一.封装 是什么:首先是抽象,把事物抽象成一个类,其次才是封装.对外表示为一个对象,隐藏对象的属性和动作实现的细节,仅对外公开接口. ...

  8. Java基础-我所理解的泛型

    Java基础-我所理解的泛型 引用 [java]泛型中,? extends T 与 ? super T 的区别.看法_winrh的博客-CSDN博客_泛型 extends 前言 Java基础系列,我所 ...

  9. 【职坐标】java面向对象三大特性(二)——继承详解

    [职坐标]java面向对象三大特性(二)--继承详解 a) 什么是继承? i. 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可 b) ...

  10. Day01 学习Java(四大特性、数据类型、运算符)

    一.Java初识 四大特性:跨平台.自动垃圾回收.面向对象.多线程 编译型语言 : 运行效率高,但是跨平台性能差 解释型语言 : 运行效率低,但是跨平台性能好 静态语言 : 创建变量的时候,必须先指定 ...

最新文章

  1. openwrt linux rootfs 分区表,Openwrt扩展rootfs到U盘
  2. 用缓存拦截接口频繁的请求
  3. 移动web开发之像素和DPR
  4. 真正完美攻略之星月夜~Seven Tales in Spiral(中国同人文字AVG)
  5. java基础(六) switch语句的深入解析
  6. Quartz 之入门示例
  7. 会议交流 | DataFunSummit 知识图谱在线峰会——链接知识图谱最前沿技术和最落地产业化应用的桥梁!...
  8. mysql 单表查询
  9. java 事件类型_Spring框架中有哪些不同类型的事件?
  10. mysql 增加建表权限,mysql_基本权限模型建表结构
  11. 每个Wi-Fi都有独一无二的IP地址吗?
  12. php 域名方法,PHP获取域名方法
  13. 福建省小学四年级上册计算机知识点总结,小学四年级上册数学知识点大全【1-6单元】...
  14. HTML中使用a标签实现文本内链接—零基础自学网页制作
  15. 微机原理(FPGA设计CPU理解)
  16. Android远程登录Telnet配置
  17. python3 get爬取网页标题、链接和链接的数字ID
  18. 快速定位网页中元素在源代码中的位置
  19. 邻居表项的app_solicit数量
  20. zabbix5.0监控esxi和vcenter

热门文章

  1. Hyperledger Fabric ./byfn.sh -m up -s couchdb Error peer0.org1 failed to join the channel
  2. c性能大容量cket_水合低共熔电解质有助于改善水性锌电池的性能
  3. php 验证是否是xml,php判断str字符串是否是xml格式数据
  4. web 前端签名插件_10款前端开发神器,助你成前端高手?
  5. MySQL学习(五、数据操作语言DML和事务处理语言TCL)
  6. kvm Libvirt qemu-kvm虚拟主机指定固定IP
  7. Mahout 安装配置及一个简单测试
  8. BZOJ1233: [Usaco2009Open]干草堆tower
  9. [蓝桥杯]PREV-12.历届试题_危险系数
  10. MySQL中数据表的查操作