封装

本文深入探讨了Java封装的基本概念,解释了为何需要封装以及它如何帮助限制对数据的不合理访问,保持数据完整性和提高代码可维护性。通过具体代码示例展示了如何使用private关键字和getter/setter方法实现封装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我们定义一个类的时候,如果我们直接定义成员变量,例如:

public class Person{
	int age;
}

此时我们从其他类中需要使用age是,可以直接随意赋值,这就存在一个问题,假设age是人类的年龄,显然age有一个取值范围,但是此时如果我们在其它类中访问:

public class Test{
	public static void main(String[] args){
		Person person = new Person();
		person.age = 1000;
		System.out.println(person.age);//1000
	}
}

显然此时age就成了1000,这是不合理的,所以就引出了封装的概念,那么什么是封装呢或者说封装可以实现那些目的

1、封装可以隐藏实现的细节
2、让使用者只能通过实现写好的访问方法来访问这些字段,这样一来我们只需要在这些方法中增加逻辑控制,限制对数据的不合理访问、
3、方便数据检查,有利于于保护对象信息的完整性
4、便于修改,提高代码的可维护性
为了实现良好的封装,需要从两个方面考虑

1、把字段(成员变量)和实现细节隐藏起来,不允许外部直接访问
2、把方法暴露出来,让方法控制这些成员变量进行安全的访问和操作
封装使用private关键字,具体代码如下:

public class Person {
    private int age;
//  利用getter方法获取age
    public int getAge() {
        return age;
    }
//  利用setter方法设置age
    public void setAge(int age) {
        if(age > 120 || age < 0){
            System.out.println("数据不合理");
        } else{
            this.age = age;
        }
    }
}

调用方法如下:

public static void main(String[] args) {
        Person person = new Person();
        person.setAge(1000);//设置年龄为1000,显然不合理
        System.out.println(person.getAge());//数据不合理 0(为默认值)
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值