快速掌握类和对象

🎬 博主名称: 超级苦力怕
🔥 个人专栏: 《AI 工具使用目录》
🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!
前言
本文主要内容:类和对象,包含 Java 面向对象的封装
1. 类和对象
- 类是对象共同特征的描述
- 对象是真实存在的东西
1.1 概述
类是一种自定义数据类型,可以用来描述对象的属性和行为。类也是由属性和行为构成,其中属性定义了事物的特征,行为定义了事务能执行的操作。
对象是类的实例,可以用类的方法和属性达到预期的效果。每个对象都有自己的状态,由属性的值决定,对象的行为可以通过调用方法来触发。
1.2 类的构成
java中,类的定义一般包括类名、类的成员变量、类的成员方法,其中成员变量是属性,成员方法是行为。
可以通过需求,先设计类,有了类才能获得对象。
快速理解:我们如果想设计一个游戏角色(需求),就要先想游戏角色都包含什么(类),再去设计具体的角色(对象)
在 Java 中体现如下:
java
public class 类名{
成员变量;
成员方法;
构造方法;
}
注意事项:
- 类名首字母大写,做到见名知意(驼峰命名法)
- 一个Java文件可以定义多个类,且类只能由public修饰,但推荐一个文件中只写一个class类
1.3 构造方法
构造方法是一种特殊的方法,主要是完成对象数据的初始化,在创建对象的时候,根据调用的参数,自动调用有参构造或无参构造
在 Java 中体现如下
java
public class 类名{
修饰符 类名( 参数 ) {
}
}
示例代码:
java
class Student {
private String name;
private int age;
//构造方法
public Student() {
System.out.println("无参构造方法");
}
public void show() {
System.out.println(name + "," + age);
}
}
2. 封装
2.1 概述
Java中的封装 (encapsulation) 指将细节隐藏起来,仅对外暴露接口,实现了信息的隐藏和保护。
基本原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为
2.2 封装构成
封装由修饰符 private 构成,可以用来修饰成员变量 和成员方法
被 private 修饰的成员只能在本类进行访问,如果需要被其他类使用,通常提供get/set方法。
- get方法:用于获取成员变量值,使用 public 修饰
- set方法:用于设置成员变量的值,方法用 public 修饰
2.3 标准类
一个完整的JavaBean,也就是标准类,有着以下特点
- 类名需要见名知意
- 成员变量使用 private 修饰
- 至少提供无参构造和带全部参数的构造方法
- 提供每一个成员变量对应的get和set方法
JavaBean示例:
java
class Student {
//成员变量
private String name;
private int age;
//构造方法
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
//成员方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void show() {
System.out.println(name + "," + age);
}
}
2.3 权限修饰符
| 修饰符 | 同类 | 同包 | 不同包子类 | 不同包非子类 | 适用场景 |
|---|---|---|---|---|---|
| public | ✅ | ✅ | ✅ | ✅ | 对外公开的API接口、工具类、常量 |
| protected | ✅ | ✅ | ✅ | ❌ | 供子类继承和重写的方法、属性 |
| 默认 | ✅ | ✅ | ❌ | ❌ | 包内共享的辅助类、内部实现 |
| private | ✅ | ❌ | ❌ | ❌ | 封装内部状态、实现细节 |
2.4 优点
封装有着提高安全性 、提高代码复用性 、降低耦合度 、便于调试几个方面。
- 提高安全性:可以放置外部类直接访问和修改数据,只能通过get和set方法进行访问和修改,确保数据的完整性和安全性。
- 提高复用性:封装可以使类可以作为一个独立的组件被重复使用。只要类的接口保持不变,就可以在不同的环境中使用同一个类。
- 降低耦合度:封装通过将数据和方法组织在一起,减少了类与类的依赖,提高代码的灵活性和可维护性。
- 便于调试:如果数据出现错误,只需要检查类内部的代码,而不需要检查整个程序,因为数据只能通过类提供的方法进行访问和修改。
结语
- 类是对象的模板,定义了对象的属性(成员变量) 和行为(成员方法)
- 对象是类的具体实例,通过new关键字创建
- 封装通过private修饰符隐藏内部细节,提供get/set方法安全访问数据
- 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学 Java 的同学看到。
- 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
- 想系统看更多内容:可以关注专栏《JavaSE》,一起把基础打牢。
