【从0开始学习Java | 第5篇】封装
文章目录
- 🤔封装的概念
- 🥝封装的优点
- Java封装实现方式📖
- 类成员访问修饰符的运用
- 类成员访问修饰符的作用范围🧾
- 注意:类的访问修饰符只有两种:public修饰符和默认修饰符(不写修饰符就是默认)
- Getter 和 Setter 方法的使用
🤔封装的概念
封装,简单来说,就是将数据和对数据的操作包装在一起,形成一个独立的单元。在 Java 中,这个单元就是类。类将其内部的数据(成员变量)和操作这些数据的方法封装起来,对外界隐藏了内部的实现细节,只提供必要的接口供外部访问。
🥝封装的优点
-
良好的封装能够减少耦合
-
类内部的结构可以自由修改
-
可以对成员变量进行更精确的控制
-
隐藏信息,实现细节
Java封装实现方式📖
类成员访问修饰符的运用
Java 提供了四种访问修饰符:private、default(默认,不写修饰符即为 default)、protected 和 public,它们在实现封装中发挥着关键作用:
private:被 private 修饰的成员(属性或方法)只能在本类中访问。这是实现数据隐藏的重要手段,通过将敏感数据或内部方法设置为 private,可以有效防止外部直接访问和修改。例如:
private String name;
private int age;
// 私有方法,只能在本类中调用
private void privateMethod() {// 方法体
}
default:默认访问修饰符,被它修饰的成员可以在同一个包内访问。如果一个类没有指定包名,那么它属于默认包,同一个源文件中的类都在默认包内。例如:
// 默认访问修饰符,同一个包内可以访问
int legs;
// 默认访问修饰符的方法,同一个包内可以调用
void defaultMethod() {// 方法体
}
protected:被 protected 修饰的成员可以在同一个包内以及不同包的子类中访问。常用于在继承体系中,允许子类访问父类的某些成员。例如:
protected String protectedField;
protected void protectedMethod() {// 方法体
}
public:被 public 修饰的成员可以在任何地方访问、。通常用于定义类的公共接口,供外部代码调用。例如:
public String publicField;
public void publicMethod() {// 方法体
}
在实际应用中,通常将类的属性声明为 private,以保护数据的安全性,而将需要对外提供的操作方法声明为 public,供外部使用
类成员访问修饰符的作用范围🧾
注意:类的访问修饰符只有两种:public修饰符和默认修饰符(不写修饰符就是默认)
Getter 和 Setter 方法的使用
对于私有属性,为了让外部能够访问和修改这些属性的值,通常会提供 public 的 Getter 和 Setter 方法。Getter 方法用于获取属性的值,一般以 “get” 开头加上属性名(属性名首字母大写);Setter 方法用于设置属性的值,一般以 “set” 开头加上属性名(属性名首字母大写)。例如:
public class Person {private String name;private int age;// Getter方法public String getName() {return name;}// Setter方法public void setName(String name) {this.name = name;}// Getter方法public int getAge() {return age;}// Setter方法public void setAge(int age) {if (age >= 0) {this.age = age;} else {System.out.println("年龄不能为负数");}}
}
通过 Getter 和 Setter 方法,不仅可以实现对私有属性的访问和修改,还可以在方法中添加额外的逻辑,如数据验证、日志记录等,进一步增强代码的健壮性和安全性
如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!