当前位置:首页 > Java

java如何封装类

2026-04-09 03:48:25Java

封装类的基本概念

封装是面向对象编程的三大特性之一,通过隐藏对象的属性和实现细节,仅对外公开接口来控制访问级别。在Java中,封装主要通过访问修饰符(privateprotectedpublic)和Getter/Setter方法实现。

java如何封装类

使用访问修饰符控制可见性

  • private:仅限当前类内部访问,外部无法直接修改或读取。
  • protected:允许当前类、子类及同包类访问。
  • public:完全公开,任何类均可访问。

示例:

java如何封装类

public class Person {
    private String name; // 私有属性
    private int age;

    // 公有方法作为访问接口
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

提供Getter和Setter方法

通过公有方法间接访问私有属性,可加入逻辑验证。

public class Person {
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age > 0) { // 数据校验
            this.age = age;
        } else {
            System.out.println("年龄无效");
        }
    }
}

封装的优势

  1. 数据安全:防止外部直接修改属性,避免非法值。
  2. 灵活性:内部逻辑修改不影响外部调用。
  3. 易于维护:隐藏实现细节,降低耦合度。

完整示例

public class BankAccount {
    private String accountNumber;
    private double balance;

    public String getAccountNumber() {
        return accountNumber;
    }

    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    public double getBalance() {
        return balance;
    }

    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }

    public void withdraw(double amount) {
        if (amount > 0 && balance >= amount) {
            balance -= amount;
        }
    }
}

注意事项

  • 避免过度封装,非必要属性可直接使用public
  • 对于不可变属性(如ID),可仅提供Getter方法。

标签: java
分享给朋友:

相关文章

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

如何搭建java开发环境

如何搭建java开发环境

下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK版本。运行安装程序并按照提示完成安装,建议选择默认路径以减少配置复杂度。 配置环境变量 在系统环境变量中添加JAVA_HO…

如何学习好java

如何学习好java

掌握Java基础知识 学习Java的第一步是掌握其基础知识,包括数据类型、变量、运算符、控制流语句(如if-else、for循环、while循环)以及数组。这些是构建更复杂程序的基石。可以通过在线教程…