java基础笔记系列_Day07

面向对象

一、类

1.1 概述

  1. 面向对象:
    优点:耦合度低,扩展能力强,更容易解决现实问题中更复杂的业务逻辑,组件复用性强
    缺点:前期投入成本高,需要进行独立体的抽取,大量的系统分析与设计
  2. 面向对象三大特征:
    • 封装
    • 继承
    • 多态
  3. 面向对象开发流程
    • 面向对象的分析 Object-Oriented Analysis OOA
    • 面向对象的设计 Object-Oriented Design OOD
    • 面向对象的编程 Object-Oriented Programming OOP
  4. 开发过程:
    1. 现实世界发现对象
    2. 发现多个对象,寻找共同的特征,形成类
    3. 用Java代码表述一个类
    4. 通过类创建对象
    5. 对象直接协作起来形成一个系统

1.2 类

  1. 类:对现实生活中一类具有共同属性和行为的事物/对象的抽象
    特点:

    • 类是对象的数据类型
    • 类是具有相同属性和行为的一组对象的组合
  2. 类描述的是对象的共同特征。
    这个特征在访问时,必须先创建对象,然后通过对象去访问这个特征。比如身高,必须先创建一个对象,学生,访问这个学生的身高才有意义。

  3. 共同特征主要是状态和动作

    • 状态通常对应类的属性,动作通常对应类的方法。
    • 状态和动作具体到某个对象上时,其结果可能不一样。
  4. 类到对象的过程:实例化 对象又被成为实例
    对象到类的过程:抽象

  5. 类和对象的关系:类是对象的抽象,对象是类的实体

  6. 类的组成

    • 属性:对象的特征,在类中通过成员变量来体现
    • 行为:对象的功能,在类中通过成员方法来体现
  7. 类的定义

    1. 引入
      定义学生类,看其共同特征/public class Student{ }
      • 状态信息/属性,通常是一个变量的形式,类中方法外为成员变量,系统会给默认值
        • 学号
        • 姓名
        • 年龄
      • 动作信息/行为,通常是一个方法的形式,可以是无参方法,也可以是带参方法
        • 吃饭
        • 睡觉
        • 学习

    语法结构:

    【修饰符列表】 class 类名{

     属性;//一般  数据类型   变量名,成员变量,系统有默认值
    
     方法;//
    

    }

  8. 这个学生类(学生类型)是引用数据类型
    int a = 2;
    String s = “abc”;
    Student ss = ???;
    s/ss 被称作引用,a被称作变量名

  9. 空指针异常
    空引用访问“实例”相关的数据一定会出现空指针异常
    实例相关的数据:这个数据访问的时候必须有对象的参与

二、 对象

2.1 对象的创建与使用

一、 概述

  1. 成员变量:定义在类中,方法外的变量
    • 无static修饰叫实例变量
    • 有static修饰叫类变量
  2. 对象:实际存在的个体,这个个体具有各种特征。具有相同属性的对象可以构成类。但是对象与对象之间有差异,个性,对象与对象之间的特征值是不同的。
  3. 对象的本质是new运算符在堆内存中开辟的内存空间
  4. 引用是一个变量,保存了一个Java对象的内存地址,可以是局部变量,也可以是成员变量
  5. C中指针的存在可以使程序员直接操控指针对应的堆内存空间,但是Java中屏蔽了指针的概念,要想操作堆内存中对象内部的实例变量,必须借助引用。
  6. 成员变量在堆中,局部变量在栈中。main方法中定义的变量都在栈中
  7. 对象的属性:对象具有各种特征,每个对象的每个属性都拥有特定的值
  8. 对象的行为:对象能进行的操作
  9. 对象的创建与调用
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值