云计算百科
云计算领域专业知识百科平台

Java学习笔记07:Java面向对象入门(类和对象详解、创建对象、对象调用方法)

前言

在前面的 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学习过程。

    愿我们能一起学习,一起成长。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Java学习笔记07:Java面向对象入门(类和对象详解、创建对象、对象调用方法)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!