Java学习之路(五)面向对象编程

面向对象编程

1.面向过程思想

  1. 步骤清晰简单,第一步做什么,第二步做什么
  2. 面向过程适合处理一些较为简单地问题

2.面向对象思想

  1. 物理类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。

  2. 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!

  3. 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

3.什么是面向对象

  • 面向对象编程(Object-Oriented Programming , OOP)
  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据
  • 抽象
  • 三大特性
    • 封装
      • 高内聚,低耦合
      • 属性私有 set/get
    • 继承
      • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
      • extends --扩展。子类是父类的扩展
      • java中只有单继承,没有多继承
      • ctrl+h --> 关系树
      • object类
      • super -this
      • 方法重写
        Java学习之路(五)面向对象编程_第1张图片
    • 多态
      • 即同一方法可以根据发送对象的不同采用多种不同的行为方式
      • 一个对象的实际类型是确定的
      • 注意事项:
        • 多态是方法的多态,属性没有多态
        • 父类和子类,有联系 类型转换异常 ClassCastException!
        • 存在条件:继承关系,方法需要重写,父类引用指向子类对象!
        • instanceof 类型转换
  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物,类,是抽象的,是对对象的抽象
  • 从代码运行角度考虑是先有类后有对象。类是对象的模板。
  1. 构造器
  • 和类名相同

  • 没有返回值

  • 作用:

    • new本质 是在调用构造方法
    • 初始化对象的值
  • 注意点:

    • 定义有参构造之后,如果想继续使用无参构造,显示的定义一个无参构造
    • 快捷键:Alt+Insert

5.总结

  1. 类与对象
    • 类是一个模板:抽象,对象是一个具体的实例
  2. 方法
    • 定义、调用!
  3. 对象的引用
    • 引用类型 基本类型(8)
    • 对象是通过引用来操作的:栈—>堆
  4. 属性:字段field 成员变量
    • 默认初始化
      • 数字:0,0.0
      • char:u0000
      • boolean:false
      • 引用:null
    • 修饰符 属性类型 属性名=属性值!
  5. 对象的创建和使用
    • 必须使用new关键字创造对象,构造器
    • 对象的属性
    • 对象的方法
  6. 类:
    • 静态的属性 属性
    • 动态的行为 方法

5.1静态导入包

  • import static java.lang.Math.random;
    

5.2 抽象类

  • abstract 只有方法名字,没有方法的实现
  • 继承抽象类,必须重写继承的方法
    • 不能new这个抽象类,只能靠子类去实现 :约束!
    • 抽象类中可以写普通的方法
    • 抽象方法必须在抽象类中
  • 提高程序可扩展性

5.3 接口

  • 只有规范!自己无法写方法
  • 可以实现多继承
  • Java学习之路(五)面向对象编程_第2张图片

6.异常

  • 检查性异常
  • 运行时异常
  • 错误error
  • 异常处理机制
    • 抛出异常
    • 处理异常
    • 五个关键字
      • try
      • catch
      • throw
      • finally
      • throws
  • 经验总结
  • Java学习之路(五)面向对象编程_第3张图片

你可能感兴趣的:(Java入门)