栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA面向对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA面向对象

面向对象
  • 面向过程思想:
    • 步骤清晰简单
    • 面向过程适合处理一些较为简单的问题
  • 面向对象思想:
    • 物以类聚,分类的思维模式,思考问题首先会解决问题所需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思想
    • 面向对象适合处理复杂问题,适合处理需要多人协作的问题
  • 对于描述复杂的事务,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思想类分析整个系统。具体到微观操作上,任需要面向过程的思路去处理
什么叫面向对象
  • 面向对象编程(oop)
  • 面向对象编程的本质:以类的方式组织代码,以对象组织数据
  • 抽象
  • 三大特征:
    • 封装
    • 继承
    • 多态
  • 从认识论角度考虑是先有对象后有类。对象:具体的事务。类:是抽象的,是对对象的抽象
  • 从代码运行的角度考虑是先有类后有对象。类是对象的模板
类与对象的关系
  • 类是一种抽象的数据类型,他是对某一类事务整体描述/定义,但是并不代表某一具体事务
  • 对象是抽象概念的具体实例
创建与初始化对象
  • 使用new关键字创建对象
  • 使用new关键字创建的时候,除了分配内存空间外,还会给创建好的对象进行默认初始化以及对类中构造器的调用
  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。构造器特点:
    • 必须和类的名字相同
    • 必须没有返回值类型,也不能写void
  • 构造器必须掌握
构造器详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VI9ZmEUY-1635994371946)()]

创建对象内存分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKu7oZ6q-1635994371948)()]

封装
  • 该藏的藏,该露的露
    • 程序设计要求**‘高内聚,低耦合’**。高内聚就是类的内部数据操作细节自己完成,不允许外部操作。低耦合:仅暴露少量的方法给外部使用
  • 封装(数据的隐藏)
    • 通常应该禁止直接访问一个对象中数据的实际表示,而应该操作接口来访问,这叫信息的隐藏
  • 属性私有:get/set
继承
  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
  • extends的意思是"扩展",子类是父类的扩展
  • java中只有单继承,没有多继承
  • 继承是类与类之间的一种关系,除此之外,还有依赖、聚合、组合等
  • 继承关系的两个类,一个是子类(派生类)一个是父类(基类)。子类继承父类,关键词extends来表示
  • 子类和父类之间,意义上讲是" is a"的关系
  • object类
  • super
  • 方法重写
super 注意:
  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能在子类的方法或构造方法中、
  3. super和this不能同时调用构造方法
与this的区别
  • 代表的对象不同
    • this本身调用者的对象
    • super代表父类对象的调用
  • 前提
    • this没有继承也可以使用
    • super只能在继承条件下使用
  • 构造方法
    • this()本类构造
    • super()父类构造
方法重写(需要有继承关系,子类重写父类的方法)

重写都是方法的重写,与属性无关

父类的引用指向子类

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大但是不能缩小。(public>Protected>Default>private)
  4. 抛出的异常:范围可以缩小,但不能扩大

注意:

  • 子类的方法和父类必须一致,方法体不同
多态
  • 即同一方法可以根据发送对象的不同而采用多种不同的运行方式
  • 一个对象的实际类型是确定的,但是指向对象的可用引用类型有很多
  • 多态存在的条件
    • 有继承关系
    • 子类重写父类方法
    • 父类引用指向子类
  • 注意:多态是方法的多态,属性没有多态性
  • instanceof
注意:
  1. 多态是方法的多态,属性没有多态
  2. 父类和子类有联系
  3. 存在条件
    1. 继承关系
    2. 方法需要重写
    3. 父类引用指向子类对象
instanceof和类型转换 instanceof 类型转换 static关键字 抽象类
  • abstract修饰符可以用来修饰类也可以用来修饰方法,如果修饰方法,该方法就是抽象方法。如果修饰类,就是抽象类
  • 抽象类中可以没有抽象方法,抽象方法中一定要声明抽象类
  • 抽象类不能使用new关键字来创建对象,他是用来让子类继承的
  • 抽象方法,只有方法的声明,没有方法的实现。它是用来让子类实现的
  • 子类继承抽象类,那么就必须实现抽象类没有实现的抽象方法。否则该子类也要声明为抽象类
接口的定义与实现 接口
  • 普通类:只有具体实现

  • 抽象类:具体实现和规范(抽象方法)都有

  • 接口:只有规范

  • 接口就是规范,定义的是一组规则,制定好后大家都要遵守

  • 接口的本质是契约,制定好后大家都要遵守

  • oo的精髓,是对对象的抽象,最能体现这一点的就是接口,实际上就是合理的去抽象

声明类的关键字是class,声明接口的关键字是interface

N种内部类 内部类
  • 内部类就是在一个类的内部定义一个类
  1. 成员内部类
  2. 静态内部类
  3. 局部内部类
  4. 匿名内部类
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号