第27天
哪吒 2023/6/15
# 第27天
每一行代码都是你进步的见证,为你感到骄傲!
# Java 封装
# 实现Java封装的步骤
- 修改属性的可见性来限制对属性的访问(一般限制为private)
public class Person {
private String name;
private int age;
}
- 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
Java封装是一种面向对象编程(OOP)的概念,它指的是将对象的状态(属性)和行为(方法)捆绑在一起,并对外隐藏对象的具体实现细节,仅通过定义的接口与外部进行交互。封装的主要目的是保护对象的状态,防止外部代码直接访问和修改对象内部的数据,从而提高代码的安全性和可维护性。
# 实现原理
访问修饰符:Java提供了四种访问修饰符来控制类的成员(属性和方法)的访问级别:
private
:仅当前类可以访问。default
(无修饰符):仅同一包内的类可以访问。protected
:同一包内的类和不同包中的子类可以访问。public
:所有类都可以访问。
构造方法:用于创建对象,并初始化对象的状态。
getter和setter方法:用于访问和修改私有属性。getter方法用于获取属性的值,setter方法用于设置属性的值。
# 用途
数据隐藏:通过将属性设为私有,外部代码无法直接访问和修改对象的状态,只能通过提供的方法进行操作,从而保护数据的安全性和完整性。
代码重用:封装后的类可以被多个对象实例化,并且可以重用,提高了代码的复用性。
易于维护:封装后的类内部实现细节被隐藏,外部代码只需关注接口,降低了代码的耦合度,使得代码更容易维护和修改。
# 注意事项
合理使用访问修饰符:根据实际需求选择合适的访问修饰符,避免过度暴露或过度限制访问。
避免过度封装:虽然封装可以提高代码的安全性和可维护性,但过度封装会导致代码难以理解和维护。因此,应该适度封装,保持代码的清晰和简洁。
提供必要的接口:封装后的类应该提供必要的接口(getter和setter方法),以便外部代码可以访问和修改对象的状态。
异常处理:在setter方法中,应该对输入参数进行验证,并在必要时抛出异常,以保证对象状态的有效性。
通过合理使用Java封装,可以提高代码的可读性、可维护性和安全性,是面向对象编程中非常重要的一个概念。
学习编程就像搭积木,一块一块慢慢来,下一篇继续加油!