欢迎光临
我们一直在努力

第4章 类和对象设计 知识点总结

1. 本章学习目标为掌握类的定义、对象的创建和使用、构造方法定义和使用、类的成员变量与成员方法、方法的重载、权限修饰符等核心内容。

2. 面向对象基础
2.1 面向对象程序设计简称OOP,和传统线性化流程编程不同,更贴合人类真实的思维习惯,用来模拟现实世界里的各类事物。
2.2 现实世界里所有事物都可以看作对象,每个对象都有专属的属性与行为,对象之间相互独立又彼此协作,共同完成复杂任务。
2.3 面向对象编程会把现实事物和事物间的联系映射到程序中,通过设计多个对象、对象间传递消息来完成程序功能。

3. 类和对象的基础认知
3.1 类是Java程序最基础的复合数据类型,是对象的模板,它封装了一类对象共有的属性和行为。
3.2 对象是类的实例,先定义类,之后才可以实例化创建具体的对象。
3.3 面向对象的三大基础特征分别为封装、继承、多态。
3.4 封装是将对象的状态与数据隐藏,仅对外提供安全的访问接口;继承是子类沿用父类的属性与特征,还可以拓展新能力;多态是同一行为产生不同的表现效果。

4. 定义类
4.1 类通过class关键字来定义,完整基础格式包含修饰符、class关键字、类名、父类、接口和类主体。
4.2 类的组成分为两大核心部分:成员变量(描述对象属性)和成员方法(描述对象行为)。
4.3 定义类时可以搭配修饰符,比如abstract、final等,用来限定类的使用范围与特性;extends用于继承父类,implements用于实现接口。

5. 成员变量
5.1 成员变量用来定义类自身的属性,作用范围覆盖整个类,在类内的所有方法中都可以直接访问。
5.2 成员变量支持任意合法数据类型,类内的成员变量名具有唯一性,类加载完成后会自动赋予默认初始值。
5.3 可以使用public、private、protected、final、static等修饰符,管控成员变量的访问权限与生命周期。

6. 成员方法
6.1 成员方法用来表示对象可执行的具体行为,由方法修饰符、返回值类型、方法名、参数列表、方法体构成。
6.2 返回值类型必须和方法内部最终return返回的数据类型保持一致,无返回值时需要使用void关键字声明。
6.3 方法参数列表用来接收外部传入的数据,多个参数之间使用逗号分隔,方法内部可以完成逻辑运算、数据处理等操作。

7. 方法重载
7.1 方法重载指在同一个类当中,允许定义多个方法名完全相同的方法。
7.2 重载的区分依据是方法的参数列表,只要参数的数量、类型、排列顺序不同,就可以构成方法重载。
7.3 方法重载和返回值、方法修饰符无关,调用时Java会根据传入的实参,自动匹配调用对应的重载方法。

8. 对象的创建与使用
8.1 类属于抽象模板,想要使用类的功能,必须先实例化创建对象。
8.2 创建对象需要使用new关键字,同时调用对应的构造方法,为对象分配独立的内存空间。
8.3 同一个类可以创建多个不同的对象,每个对象都拥有独立的成员变量,修改一个对象的属性,不会影响其他同类型对象。
8.4 访问对象的属性和调用对象的方法,都需要使用点运算符对象.成员的格式完成。

9. 构造方法
9.1 构造方法的方法名必须和类名完全一致,不能有任何返回值声明,连void也不可以写。
9.2 构造方法会在创建对象new实例的时候被系统自动调用,作用是完成对象成员变量的初始化赋值。
9.3 如果自己没有手动定义任何构造方法,Java会自动提供一个无参的默认空构造方法。
9.4 构造方法也支持重载,可以定义多个参数不同的构造方法,适配不同场景的对象初始化需求。

10. 静态变量与静态方法
10.1 被static关键字修饰的变量叫做静态变量、修饰的方法叫做静态方法,二者都归属于整个类,而不是单个对象。
10.2 静态成员可以直接通过类名.静态成员的方式直接访问,不需要提前创建类的实例对象。
10.3 所有类的实例对象,会共享同一份静态变量,任意一个对象修改静态变量的值,所有对象访问到的值都会同步改变。
10.4 静态方法内部不能直接访问非静态的实例变量与实例方法;普通实例方法可以直接调用静态成员。

11. 参数传递机制
11.1 Java中参数分为值传递和引用传递两种形式。
11.2 基础数据类型作为参数时是值传递,方法内修改参数副本的值,不会影响方法外原本的变量。
11.3 数组、类对象这类引用数据类型作为参数时,传递的是内存地址,方法内修改对象内容,会同步影响原对象。

12. 对象销毁与内存清理
12.1 Java有自动垃圾回收机制,不再被引用的对象,会由系统自动判断、定时清理释放占用的内存。
12.2 不需要像C/C++语言一样手动管理内存释放,程序员只需保证对象不再被使用引用即可。

13. 包的概念与使用
13.1 包package用来解决类名重复、大批量类文件杂乱的问题,实现对类的分级分类、高效管理。
13.2 定义包使用package关键字,放在Java源文件的首行;引入其他包的类使用import关键字。
13.3 可以使用通配符*导入包内的全部类,也可以精准指定导入某一个具体类。

14. 模块
14.1 Java9新增了模块的概念,一个模块可以包含多个不同的包,用来进一步管控程序的依赖关系与对外暴露范围。
14.2 模块可以精准控制哪些包对外开放、哪些包仅模块内部可用,提升程序的安全性与封装性。

15. 访问权限修饰符
15.1 public:公开权限,被修饰的类、成员,所有其他类都可以直接访问。
15.2 protected:保护权限,本包内的类、不同包中的子类可以访问。
15.3 default(默认不写修饰符):包权限,仅同一个包内部的类可以互相访问。
15.4 private:私有权限,仅当前类的内部可以访问,外部类完全无法直接调用,用来高度封装保护数据。

16. 其他常用修饰符
16.1 final:修饰类则类不能被继承;修饰方法则方法不能被重写;修饰变量则变量赋值后值不可修改,变为常量。
16.2 abstract:用来定义抽象类和抽象方法,相关内容会在后续章节详细讲解。

17. 本章综合实训
17.1 章节包含模拟ATM存取款机、冒泡排序算法、命令行参数读取等综合实操案例。
17.2 综合案例用来巩固类的封装、对象创建、方法调用、权限管控等全流程面向对象编程能力。

 

赞(0)
未经允许不得转载:171主机测评 » 第4章 类和对象设计 知识点总结
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址