Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 封装

作者:我说°走了就别回来   发布日期:2025-05-18   浏览:86

// Java封装示例

// 定义一个Student类,使用private修饰符来封装数据成员
public class Student {
    // 私有属性,外部无法直接访问
    private String name;
    private int age;

    // 构造方法
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 提供公共方法(getter和setter)来访问私有属性
    // 获取name的值
    public String getName() {
        return name;
    }

    // 设置name的值
    public void setName(String name) {
        this.name = name;
    }

    // 获取age的值
    public int getAge() {
        return age;
    }

    // 设置age的值
    public void setAge(int age) {
        if (age > 0 && age < 120) { // 简单的验证逻辑
            this.age = age;
        } else {
            System.out.println("年龄输入不合法");
        }
    }

    // 打印学生信息的方法
    public void printInfo() {
        System.out.println("姓名: " + name + ", 年龄: " + age);
    }
}

// 测试类
public class TestStudent {
    public static void main(String[] args) {
        // 创建Student对象
        Student student = new Student("张三", 20);

        // 使用公共方法访问和修改私有属性
        student.printInfo(); // 输出:姓名: 张三, 年龄: 20

        student.setAge(25);
        student.printInfo(); // 输出:姓名: 张三, 年龄: 25

        student.setAge(150); // 输出:年龄输入不合法
        student.printInfo(); // 输出:姓名: 张三, 年龄: 25
    }
}

解释说明:

  1. 封装的概念:封装是面向对象编程中的一个重要概念,它通过将数据(属性)和操作数据的方法绑定在一起,并隐藏对象的内部实现细节,只暴露必要的接口给外部。
  2. private修饰符:在Student类中,nameage被声明为private,这意味着它们不能被类的外部直接访问或修改。
  3. gettersetter方法:通过提供getName()setName()getAge()setAge()等公共方法,可以在控制下访问和修改私有属性。同时可以在setter方法中加入验证逻辑,确保数据的有效性。
  4. 测试类TestStudent类用于创建Student对象并调用其方法,展示如何通过公共方法间接访问和修改私有属性。

这种方式不仅保护了数据的安全性,还提供了更好的代码可维护性和扩展性。

上一篇:java匿名类

下一篇:java clob转string

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站