前言
在前面的 Java 学习过程中,我们已经学习了:
- Java变量和数据类型
- 运算符
- 条件判断
- 循环结构
- 数组
- 方法
通过方法,我们可以将重复代码进行封装,提高代码复用性。
但是随着程序规模不断扩大,仅仅依靠方法组织代码会遇到新的问题。
例如:
开发一个学生管理系统。
一个学生包含:
- 姓名
- 年龄
- 学号
- 成绩
同时学生还有一些行为:
- 学习
- 考试
- 查询成绩
如果所有数据和功能都写在一起,代码会越来越复杂。
Java为了解决这类问题,引入了非常重要的编程思想:
面向对象编程(Object-Oriented Programming,OOP)。
本文作为《程序员洋洋的Java学习笔记》第07篇,将详细介绍:
- 什么是面向对象
- 什么是类
- 什么是对象
- 类和对象的关系
- 如何创建对象
- 如何通过对象调用属性和方法
一、什么是面向对象编程?
面向对象是一种程序设计思想。
Java是一门典型的面向对象编程语言。
简单理解:
面向对象就是:
把现实世界中的事物抽象成程序中的对象。
例如:
现实中的学生:
具有:
- 姓名
- 年龄
- 学号
具有行为:
- 学习
- 写代码
- 考试
在Java中:
可以设计一个:
Student
类。
用来描述学生这一类事物。
二、面向对象和面向过程的区别
在学习面向对象之前,我们经常接触的是:
面向过程。
1. 面向过程
面向过程关注:
“事情应该按照什么步骤完成”。
例如:
完成一次考试报名:
代码思维:
一步一步执行。
2. 面向对象
面向对象关注:
“谁来完成这个事情”。
例如:
学生报名考试。
可以设计:
学生对象:
Student
学生负责:
- 填写信息
- 提交报名
系统负责:
- 审核数据
这种方式更加符合现实世界的组织方式。
三、什么是类(Class)?
类是Java面向对象中的核心概念。
简单理解:
类是创建对象的模板。
类似现实中的设计图。
例如:
建造房子之前,需要先设计图。
设计图规定:
- 房子的结构
- 房间数量
- 面积大小
但是设计图本身不是房子。
Java中的类也是一样。
例如定义一个学生类:
public class Student {
String name;
int age;
}
代码分析:
String name;
表示学生姓名。
int age;
表示学生年龄。
这里创建的是一个类。
还没有真正创建学生对象。
四、什么是对象(Object)?
对象是根据类创建出来的具体实例。
例如:
Student 是一个类。
它类似学生模板。
但是:
- 小明
- 小红
- 洋洋
这些具体的人才是对象。
创建对象:
Student stu = new Student();
代码解释:
Student
表示对象类型。
stu
表示对象名称。
new
表示创建一个新的对象。
五、类和对象的关系
很多Java初学者容易混淆:
类和对象到底有什么区别?
可以这样理解:
| 类 | 设计图 |
| 对象 | 根据设计图创建出来的实际产品 |
例如:
类:
Student
可以创建多个对象:
student1
student2
student3
每个对象都有自己的属性。
六、Java创建对象完整案例
下面通过一个完整案例理解类和对象。
需求:
创建一个学生类。
包含:
- 姓名
- 年龄
- 学习方法
1. 创建Student类
代码:
public class Student {
String name;
int age;
public void study(){
System.out.println(name + "正在学习Java");
}
}
其中:
属性:
String name;
int age;
表示学生的数据。
方法:
study()
表示学生的行为。
2. 创建对象并使用
Main类:
public class Main {
public static void main(String[] args) {
Student stu = new Student();
stu.name = "洋洋";
stu.age = 20;
System.out.println(stu.name);
System.out.println(stu.age);
stu.study();
}
}

运行结果:
洋洋
20
洋洋正在学习Java

七、对象如何访问属性和方法?
创建对象以后,可以通过:
.
访问对象成员。
例如:
访问属性:
stu.name;
调用方法:
stu.study();
完整形式:
对象名.属性
对象名.方法()
这是Java中非常常用的语法。
八、为什么Java需要面向对象?
在实际开发中,一个项目通常包含大量业务。
例如:
电商系统:
用户:
User
商品:
Product
订单:
Order
购物车:
Cart
每个类负责自己的数据和功能。
这样可以:
1. 提高代码维护性
修改一个功能时,不需要影响整个项目。
2. 提高代码复用性
相同类型对象可以重复创建。
3. 提高代码结构清晰度
大型项目可以按照不同模块进行划分。
九、学习类和对象时常见问题
1. 类和对象是一样的吗?
不是。
类:
是一种定义。
对象:
是根据类创建出来的实例。
例如:
Student
是类。
Student stu = new Student();
中的:
stu
是对象。
2. 为什么创建对象需要new?
因为new负责创建对象。
例如:
Student stu = new Student();
执行new之后:
Java会在内存中创建一个新的对象。
3. 一个类可以创建多个对象吗?
可以。
例如:
Student stu1 = new Student();
Student stu2 = new Student();
两个对象:
互相独立。
拥有自己的属性数据。
十、面向对象在Java后端开发中的应用
在实际Java后端开发中:
面向对象思想贯穿整个项目。
例如SpringBoot项目:
Controller:
负责接收请求。
Service:
负责业务处理。
Entity:
负责数据模型。
例如:
用户实体:
public class User {
private String username;
private String password;
}
数据库中的用户数据,会映射成Java对象。
这就是面向对象思想在实际开发中的应用。
十一、总结
本文学习了Java面向对象基础。
主要内容:
什么是面向对象编程。
面向对象和面向过程的区别。
什么是类。
什么是对象。
类和对象之间的关系。
如何创建对象。
如何通过对象访问属性和方法。
重点记忆:
类是对象的模板,对象是类创建出来的实例。
面向对象是Java学习中非常重要的一部分。
后续学习:
- 封装
- 继承
- 多态
- 接口
- 抽象类
都会建立在今天学习的类和对象基础之上。
我是程序员洋洋
我会持续记录Java学习过程。
愿我们能一起学习,一起成长。
网硕互联帮助中心




评论前必须登录!
注册