6.面向对象,类,访问修饰符
分类:
文章
•
2024-04-29 17:14:57
6.面向对象,类,访问修饰符
-
面向对象思想
- 概述
- 面向对象的三大特征
- 特点
- 是一种更符合我们思想习惯的思想
- 可以将复杂的事情简单化
- 将我们从执行者变成了指挥者
- “万事万物皆对象”
- 只要是对象,就具备特征(属性)和行为(方法)
- 面向对象(OOP)与面向过程
- 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为。面向对象,将功能封装进对象,强调具备了功能的对象。
- 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如抽象、分类、继承、聚合、多态等。
- 类(class)和对象(object)是面向对象的核心概念
- 类是对一类事物描述,是抽象的、概念上的定义
- 对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
-
类和对象的关系
- 类:是一组相关的属性和行为的集合(是一个抽象的概念)
- 类的成员-属性
- 语法格式

- 说明
- 修饰符private:该属性只能由该类的方法访问。
- 修饰符public:该属性可以被该类以外的方法访问。
- 类型:任何基本类型,如int、boolean或任何类。
- 返回值类型:return语句传递返回值。没有返回值:void。
- 举例

- 类的成员-变量
- 成员变量(在方法体外,类体内声明的变量)
- 实例变量(不以static修饰)
- 类变量(以static修饰)
- 局部变量(在方法体内部声明的变量)
- 形参(方法签名中定义的变量)
- 方法局部变量(在方法内定义)
- 代码块局部变量(在代码块内定义)
- 二者在初始化值方面的异同
- 同:都有生命周期
- 异:局部变量除形参外,需显式初始化。
- 类的语法格式

- 举例

- 定义类其实就是定义类的成员(成员变量和成员方法)

- 创建Java自定义的类
- 定义类(考虑修饰符、类名)
- 编写类的属性(考虑修饰符、属性类型、属性名、初始化值)
- 编写类的方法(考虑修饰符、返回值类型、方法名、形参等)
- 对象:是该类事物的具体体现(是一个具体的实体)
- 对象的创建和使用
- 使用new +构造器创建一个新的对象
- 使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)
- 对象的产生
- 当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。

- 匿名对象
- 我们也可以不定义对象的句柄,而直接调用这个对象的方法。

- 使用情况
- 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。
- 我们经常将匿名对象作为实参传递给一个方法调用。
-
四种访问修饰符
- Java权限修饰符public、protected、private置于类的成员定义前,用来限定对象对该类成员的访问权限。

- 对于class的权限修饰只可以用public和default
- public类可以在任意地方被访问。
- default类只可以被同一个包内部的类访问。
-
使用this访问属性、方法
- 当形参与成员变量重名时,如果在方法内部需要使用成员变量,必须添加this来表明该变量时类成员
- 在任意方法内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的阅读性
-

- 注意事项
- 使用this()必须放在构造器的首行!
- 使用this调用本类中其他的构造器,保证至少有一个构造器是不用this的。