Java基础学习(2)

时间:2023-12-16 18:05:26

Java基础学习(二)

面向对象

  • 对象:客观存在的事物
  • 面向对象:人具体关注的事物的某些信息
  • 类:是模子,确定对象会拥有的特征(属性)和行为(方法)
  • 对象的属性:对象具有的各种特征
  • 对象的方法:对象能干什么

Java定义类

  1. 定义类名
  2. 编写类的属性
  3. 编写类的方法

Java基础学习(2)

Java对象的使用

  1. 创建个对象
  • 类名 对象名 = new 构造方法;
  • 使用对象
    • 引用属性:对象名.属性名
    • 引用方法:对象名.方法名

    Java成员变量和局部变量

    • 成员变量:定义在类中,用来描述对象将有什么
    • 局部变量:在类方法中定义,在方法中临时保存数据
    • 作用域
      • 局部:仅限于定义它的方法内
      • 成员:整个类的内部是可见的
    • 初始值
      • 局部:Java不会自动赋予初始值
      • 成员:Java会自动赋予初始值
    • 优先级
      • 两类变量同名时,局部变量有更高的优先级

    Java构造方法

    • 目的:用来初始化的方法
    • 特点
      • 名称与类名相同,且没有返回值
      • 当没有指定构造方法时,系统自动生成一个无参的构造方法

    Java static变量与方法

    • 使用static修饰的成员变量与方法能被所有的对象共享使用

    Java static初始化块

    1. 在类加载时执行,且只会执行一次。而不同初始化块是在实例化时执行
    2. 只能给静态变量赋值

    封装

    • 将类的某些信息隐藏在类内部,不允许外部程序直接访问
    • 好处
    1. 只能通过规定的方法访问数据
    2. 隐藏类的实例细节,方便修改与现实
  • 步骤
    1. 修改属性的可见性
    2. 创建get与set方法
    3. 在get与set方法中创建控制语句

    Java中的包

    • 包的作用
    1. 管理Java文件
    2. 解决同名文件冲突
  • 包的命名规范
    • 全小写

    Java访问修饰符

    Java基础学习(2)

    Java的this关键字

    • this.属性:调用当前对象的属性
    • this.方法:调用当前对象的方法

    Java内部类

    • 定义:定义在一个类内部的类
    • 特点
      • 更好的封装
      • 内部类的方法可以访问外部类的所有数据
    • 分类
      • 成员内部类
        • 就是普通的内部类
        • 特点
    1. 外部类不能使用内部类的成员与方法
    2. 内部类优先使用自己的变量与方法,除非使用类名.this访问
  • 创建
  • Java基础学习(2)

    • 静态内部类
      • static修饰
      • 特点
    1. 只能使用new.外部类().成员变量来访问成员变量
    2. 访问外部类静态变量访问不变
  • 方法内部类
    • 定义在外部类方法中
    • 特点
    1. 只能在方法中创建与使用
    2. 不能有任何修饰符
  • 匿名类
    • 没有名字的内部类,多用于关注实现而不关注类的名称

    继承

    • 类与类的关系,是一种is a的关系,Java中继承时单继承
    • 关键字:extends
    • 好处
      • 代码复用。单父类private变量无法直接使用
    • 方法的重写
      • 优先使用子类重写的方法
    • 继承的顺序
    1. 先初始化父类再初始化子类
    2. 先执行初始化对象中的属性,再执行构造方法中初始化
  • final关键字
    • 修饰的属性、方法、类、变量都不允许再被修改、继承。必须被初始化
  • super关键字
    • 代表类的父类对象
    • 特点
      • super()必须放在第一行
    • 应用
      • 显示使用父类构造方法

    Java Object类

    • 所有类的父类,所有类默认继承Object类
    • 方法
      • toString()方法
        • 返回对象的哈希code码(对象地址字符串)
      • equals()方法
        • 比较对象的引用是否指向同一块内存地址

    多态

    • 对象具有多种形态
    1. 引用的多态
    • 父类的引用可以指向本类
    • 父类的引用可以指向子类对象
  • 方法的多态
    • 创建本类对象,调用本类方法
    • 创建子类对象,调用子类重写的方法

    引用类型转换

    1. 向上类型转换
    • 隐式的\自动的类型转换
  • 向下类型转换
    • 强制类型转换
    • 避免溢出问题:使用if(xxx instanced yyy)即可强转

    Java抽象类

    • 关键字:abstract
    • 目的:约束子类应该包含怎样的方法,而不关心子类如何去实现

    Java接口

    • 特征:内部全部是全局常量和公共的抽象方法组成
    • 概念:定义了一批类需要去遵循的规范,它不关心这些类的内部数据和方法的实现细节,只关心这些类里必须提供某些方法
    • 关键字:interface

    Java基础学习(2)

    • 使用接口
      • 关键字:implements
    1. 接口引用指向一个实现了该接口的对象
    2. 与匿名内部类使用

    Java基础学习(2)

    • 目的:描述两个不同类之间的共同特征

    Java常用UML

    • 用例图
      • 表达系统如何满足所收集的业务规则,以及特定用户需求等信息

    Java基础学习(2)

    • 序列图
      • 按照交互发生的一系列顺序,显示对象之间的这些交互

    Java基础学习(2)

    • 类图
      • 类图,业务逻辑和所支持的结构一同被用于定义全部的代码结构

    Java基础学习(2)