java面向对象(基础部分)

java面向对象

目录

  1. 初识面向对象
  2. 方法的回顾与加深
  3. 对象的创建与分析
  4. 面向对象的三大特性
  5. 抽象类和接口
  6. 内部类及oop实战

初识面向对象

  1. 面向对象的思想

    1. 物以类聚,分类的思维模式,思考问题首先会解决需要哪些分类,然后对这些类单独思考,最后才对类进行面向过程思索
    2. 面向对象适合处理复杂的问题,适合处理多人协作的问题。
  2. 对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统,但是具体到微观操作,仍然需要面向过程思路去处理。

  3. 面向对象的本质:以类的方法组织代码,以对象的组织(封装)数据。

  4. 特性(封装,继承,多态)

方法的回顾与加深

  1. 方法的定义

    1. 修饰符
    2. 返回类型
    3. break和return的区别
    4. 方法名
    5. 参数列表
    6. 异常抛出
  2. 方法的调用

    1. 静态方法

    2. 非静态方法

    3. 形参和实参

    4. 值传递和引用传递

      public class Demo01 {
          //引用传递和值传递是有区别的 这是引用传递的例子
          public static void main(String[] args) {
              Student student = new Student();
              System.out.println(student.name);
              change(student);
              System.out.println(student.name);
          }
          public static void change(Student student){
              student.name = "小亮";
          }
      }
      class Student{
          String name;
      }
      
    5. this关键字

对象的创建与分析

  1. 使用new关键字创建对象
  2. 使用new关键字的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
  3. 类中构造器也称为构造方法,是在进行创建对象的时候必须调用的。并且构造器有以下两种方法
    1. 必须和类的名字相同
    2. 必须没有返回类型也不能写void
    3. 构造器默认生成快捷键pc:alt+insert mac : command+n

面向对象三大特性

封装

  1. 该露的露,该藏的藏

    我们程序设计追求高内聚 低耦合 高内聚就是内部数据操作细节自己完成,不允许外部干涉 低耦合仅暴露少量的方法给外部使用

  2. 封装(数据隐藏)

  3. 属性私有(get/set)

注意:

  1. 提高程序的安全性,保护数据
  2. 隐藏代码保护细节
  3. 统一接口
  4. 系统可维护增加了

继承

继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模

extends 扩展,是子类对父类的扩展

java只有单继承,没有多继承

object类

super(是调用父类的方法和属性)

  1. super调用父类构造方法,必须在构造方法第一个
  2. super必须出现在子类方法或者构造方法中
  3. super和this不能同时调用构造方法

方法重写

  1. 需要要继承关系,子类需要有父类方法
  2. 方法名必须相同
  3. 参数列表也必须相同
  4. 修饰符 范围扩大但不能缩小 public 》protected〉 private
  5. 抛出异常范围可能被缩小但不能扩大
  6. 子类方法必须和父类的方法一致,方法体不同
  7. 父类的功能,子类不一定需要,或者不一定满足

多态

  1. 即同一方法可以根据发送对象的不同而采用多种不同的行为方式

  2. 一个对象实际类型是确定的,但可以指向对象的引用类型有很多

  3. 多态存在的条件

    1. 有继承关系
    2. 子类重写父类方法
    3. 父类引用指向子类对象
  4. 多态是方法的多态,属性没有多态

  5. instanceof

    注意

    1. 父类和子类。有联系 类型转换异常 ClassCastException
    2. 存在条件 继承关系 方法需要重写,父类引用指向子类对象 Father f1 = new Son();

抽象类

  1. abstract 修饰符可以修饰方法也可以修饰类,那么该方法就是抽象方法,类就是抽象类
  2. 抽象类中可以没有抽象方法,但是一定声明抽象类
  3. 抽象类不能用new关键字创建对象,只能子类继承
  4. 抽象方法只能声明,不能实现 需要子类实现
  5. 子类继承抽象类,必须去实现这个方法,否则该类也要声明成抽象类

接口

  1. 普通类只有具体实现
  2. 抽象类 具体实现和规范(抽象方法)都有
  3. 接口就是规范定义一些规则,体现了现实世界中“如果你是。。。则必须能。。。”的思想。
  4. 接口本是契约,就像人的法律一样
  5. oo的精髓是对对象的抽象,最能体现就是接口

作用

  1. 约束
  2. 定义方法让不同人实现
  3. 定义方法。public abstract
  4. 定义常量。public abstract final
  5. 接口不能被实例化,因为接口没有构造方法
  6. implement 可以实现多个接口
  7. 必须重写接口方法

内部类

  1. 内部类就是在一个类内部定义一个类
  2. 成员内部类
  3. 静态内部类
  4. 局部内部类
  5. 匿名内部类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值