【JAVA基础指南(四)】快速掌握类和对象

快速掌握类和对象

    • 前言
    • [1. 类和对象](#1. 类和对象)
      • [1.1 概述](#1.1 概述)
      • [1.2 类的构成](#1.2 类的构成)
      • [1.3 构造方法](#1.3 构造方法)
    • [2. 封装](#2. 封装)
      • [2.1 概述](#2.1 概述)
      • [2.2 封装构成](#2.2 封装构成)
      • [2.3 标准类](#2.3 标准类)
      • [2.3 权限修饰符](#2.3 权限修饰符)
      • [2.4 优点](#2.4 优点)
    • 结语

🎬 博主名称: 超级苦力怕

🔥 个人专栏: 《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》,一起把基础打牢。
相关推荐
Scott9999HH8 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
腻害兔8 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社9 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海9 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖10 小时前
JDK 26 新特性详解
java·开发语言
马优晨11 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区13 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大13 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai13 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
维天说13 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json