面向对象的本质:以类的方式组织代码,以对象的方式组织数据。

面向对象三大特性:封装 继承 多态

封装:

概念:

隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性,可维护性。

程序设计要求“高内聚,低耦合”。

实现:

使用访问控制符,实现封装:

private:仅同一个类里可以看到

default:同一个类和同一个包中可以看到

protected:同一个类、同一个包和子类中可以看到(不同包的子类也可以看到)

public:公开,所有类都可以看到

要点:

类的属性的处理:一般使用private(除非本属性确定会让子类继承)。

提供相应的get/set方法来访问相关属性,从而提供对属性的读取操作。

===================================================================

继承:

概念:

继承是类与类之间的一种关系。

类是对对象的抽象,继承是对某一批类的抽象。

子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)。

子类是父类的扩展,提高代码的复用性。

java中只有单继承,没有多继承,多继承可以通过接口来实现。

extends:

在子类加上extends关键字继承相应的父类。

final:

final修饰类,则该类不可被继承。

方法的重写:

在子类中可以根据需要对从父类中继承来的方法进行重写。

重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。

重写方法不能使用比被重写方法更严格的访问权限。(因为:父类引用指向子类对象)

===================================================================

多态:

概念:

多态就是对象的多种形态

多态性可以用来实现动态联编,程序的最终状态只有在执行过程中才被决定而并非在编译期间就决定了。

好处:

提高系统的灵活性和扩展性。

引用变量的两种类型:

编译时类型(模糊一点,一般是一个父类)由声明时的类型决定。

运行时类型(运行时,具体是哪个子类就是哪个子类)由实际对应的对象类型决定。

多态的存在要有三个必要条件:

要有继承,要有方法重写,父类引用指向子类对象。

java面向对象的三大特征是6_Java面向对象的三大特征相关推荐

  1. Java面向对象:对象的概念及面向对象的三个基本特征

    面向对象简称OO(Object Oriented),20世纪80年代以后,有了面向对象分析(OOA).面向对象设计(OOD).面向对象程序设计(OOP)等新的系统开发方式模型的研究. 对Java语言来 ...

  2. Java编程基础阶段笔记 day 07 面向对象编程(上)

    ​ 面向对象编程 笔记Notes 面向对象三条学习主线 面向过程 VS 面向对象 类和对象 创建对象例子 面向对象的内存分析 类的属性:成员变量 成员变量 VS 局部变量 类的方法 方法的重载 可变个 ...

  3. Java面对对象概念,什么是面向对象

    我们都知道Java是一门面向对象的语言.什么是面向对象,它有什么特性呢,今天我们就来说一下这个"面向对象"到底是什么意思. 面向对象简称 OO(Object Oriented),2 ...

  4. java编程中的异常分析及面向对象的思考总结[图]

    java编程中的异常分析及面向对象的思考总结[图] 1.异常: 程序中出现的不正常现象. 2.异常的由来: 程序在运行的过程中出现了不正常的情况,程序把它看成对象提取了属性行为(名字,原因,位置等信息 ...

  5. java面向对象基础代码_Java基础语法——面向对象(1)

    一 面向对象 1.1 什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实 ...

  6. Java基础学习总结(6)——面向对象

    2019独角兽企业重金招聘Python工程师标准>>> 一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可.如这里定义的person类,使用cl ...

  7. 用java有理数类包含加减乘除,7.1 面向对象的简介 - VimL 语言编程指北路

    面向对象是一种编程思想,并不特指某种编程语言.所以不必惊讶用 VimL 也能以面向 对象的方式来写代码.本章先简单介绍一下面向对象的编程思想,再探讨如何利用 VimL 现有的特性实现面向对象编程.最后 ...

  8. Java基于对象基础 基于对象和面向对象的区别(转)

    Java基于对象基础 基于对象和面向对象的区别 JavaScript设计者想把javascript语言设计成基于对象(object-based)的语言,他想把这个与面向对象(object-orient ...

  9. java类中定义索引器,C#面向对象基础——字段、属性和索引器

    关于面向对象编程,在很多语言里面都出现过,最常用的如java和c++, C#语言关于面向对象编程的规范,我觉得介于上面两者之间,我的理解是它比较偏向c++,或许是因为跟它的析构函数有关系,像java有 ...

最新文章

  1. python画饼图-从零开始学Python可视化(五): 饼图及环形图
  2. 关于Javascript Hijacking
  3. LinQ Group By
  4. angularjs 资源集合
  5. 与spring的整合
  6. NodeJS笔记: 文件操作大全
  7. python设计模式
  8. 23hh小说网——爬虫0.1python
  9. VScode绘制波形图
  10. Android基础篇 读取 Assets 文件夹中的文件
  11. 使用空驱动消除设备管理器里面的未知设备
  12. 女性最容易出轨的8种职业
  13. 22计算机考研上岸个人经验近万字分享(11408初试360分)
  14. QT 按钮切换背景图片
  15. PTA 数据结构与算法 7-29 修理牧场
  16. 主存、辅存、缓存、控存、虚存的比较分析
  17. Android 打开新浪微博特定页
  18. aspose使用合集java(Word、Excel、PPT转PDF)
  19. 【H5】H5与APP对接跳转
  20. Jetbrains系列软件更新失败Connection Error Failed to prepare an update

热门文章

  1. 产品经理需要懂技术吗?懂到什么程度?
  2. 【ECharts系列|01入门】 从入门到天黑【入门级教程实战】
  3. Bash脚本教程之字符串操作
  4. linux php 版本切换,linux更换PHP版本,多个PHP版本切换
  5. uni-app微信获取手机号,第一次解密总是失败
  6. jq实现前端文件上传
  7. js (jQuery)分组数据
  8. 用jQuery监听浏览器窗口的变化
  9. html 语义化标签拾遗
  10. css:hover伪类的使用