封装以及Getter和Setter方法

本文介绍了Java中访问修饰符如public、private、protected的作用,以及如何通过getter和setter方法封装私有变量,提供公共方法以控制数据访问和保证数据安全性。
摘要由CSDN通过智能技术生成

封装的关键概念:

  1. 访问修饰符: 在Java中,使用 publicprivateprotected 等关键字来定义成员变量和方法的访问权限。

  2. Getter 和 Setter 方法: 通过公共的方法来访问或修改私有的成员变量,分别称为 Getter 和 Setter 方法。

    public class Student {
        // 私有成员变量,只能在类内部访问
        private String name;
        private int age;
    
        // 公共构造方法
        public Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        // Getter 方法,用于获取私有成员变量 name 的值
        public String getName() {
            return name;
        }
    
        // Setter 方法,用于设置私有成员变量 name 的值
        public void setName(String name) {
            this.name = name;
        }
    
        // Getter 方法,用于获取私有成员变量 age 的值
        public int getAge() {
            return age;
        }
    
        // Setter 方法,用于设置私有成员变量 age 的值
        public void setAge(int age) {
            if (age >= 0) {
                this.age = age;
            } else {
                System.out.println("年龄不能为负数");
            }
        }
    
        // 公共方法,用于显示学生信息
        public void displayInfo() {
            System.out.println("学生姓名: " + name);
            System.out.println("学生年龄: " + age);
        }
    
        public static void main(String[] args) {
            // 创建 Student 对象
            Student student = new Student("Alice", 20);
    
            // 使用 Getter 获取信息并显示
            System.out.println("姓名:" + student.getName());
            System.out.println("年龄:" + student.getAge());
    
            // 使用 Setter 设置年龄,并显示信息
            student.setAge(21);
            System.out.println("修改后的年龄:" + student.getAge());
    
            // 直接访问私有成员变量会导致编译错误
            // System.out.println("姓名:" + student.name); // 编译错误
    
            // 使用公共方法显示学生信息
            student.displayInfo();
        }
    }
    

    封装用处:

  3. 在公共访问方法内部添加逻辑判断,过滤掉非法数据,保证数据的安全性。

  4. 对外界隐藏,在修改时不会引起外界变化。

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值