学习目录:
- 封装
- 访问器方法 getter 和 setter
简述:
“Private”(私有)在面向对象编程中是一个访问控制修饰符,用来限制类中的某些成员(如变量或方法)只能在类的内部访问,外部无法直接访问。这是一种实现封装(Encapsulation)机制的方式,目的是保护数据的安全性,并且使得外部用户不能直接修改类的内部状态。
一. 封装:
“Encapsulation”(封装)的意思是确保将“敏感”数据从用户中隐藏起来。为实现这一点,需要:
- 将类的变量/属性声明为 私有(private)
- 提供公共的 获取(get) 和 设置(set) 方法,用来访问和更新这些私有变量的值。
解释:
私有(private):
指该成员只能在类内部访问,外部的代码不能直接访问或修改这些私有成员。这样可以保护数据不被意外或恶意地篡改。
公共(public):
指可以从类外部直接访问或调用的成员。通过公共的方法(如 getter 和 setter),外部代码可以间接地读取和修改私有数据。
获取(get) 方法返回变量的值,
设置(set) 方法则设置变量的值。
两者的方法语法是以 get 或 set 开头,后面跟着变量名,并且变量名的首字母大写。
解释:
- Get 方法:用于获取(读取)某个私有变量的值。
- Set 方法:用于设置(修改)某个私有变量的值。
在 Java 或 C# 等语言中,这种方法通常以 get 和 set 为前缀,后跟变量名,并且通常采用驼峰命名法(首字母大写)。
示例:
1 | public class Person { |
二. 划重点:示例,三个文件
1. 一个被调用的 Java 文件
1 | public class Person { |
此文件相当与一个容器,不能输出值,是一个被调用的java文件,我们将创建一个文件进行调用
2. 调用文件 例1: 一个错误的调用 Person.java 文件
1 | public class Main { |
name会出现报错,报错原因:name 在 Person.java 中具有 private 访问权限
输出的结果也会报错:
1 | java: 类 Main 是公共的, 应在名为 Main.java 的文件中声明 |
修改方法:
- 在调用的
Person.java文件中,把private改成public后,此文件就可以实行 - 提供访问器方法
(getter/setter),可以通过setName()方法设置name,通过getName()方法获取它
3. 调用文件 例2: 正确的 调用 Person.java 文件
1 | public class Main { |
通过setName()方法设置name,通过getName()方法获取它
输出结果:
1 | John |