CodeGym/Java 博客/随机的/Java 中的访问器和修改器
John Squirrels
第 41 级
San Francisco

Java 中的访问器和修改器

已在 随机的 群组中发布
个会员
在深入探讨这个概念之前,您需要了解Java 中的和封装。

Java封装

顾名思义,封装是将数据和方法封装为一个单元的过程。在面向对象编程中,的数据成员被设为私有以限制对它们的直接访问。因此,如果没有正确定义的方式,则无法检索或修改封装的数据成员。为此,我们在 Java 中定义了 accessor 和 mutator 方法。让我们详细看看这些方法。

Java 中的访问器和修改器是什么?

配件

访问器方法的名称由单词“ access ”驱动,它允许用户访问类中的私有信息。如果您听说过“ get ”方法或“ getters ”,它与访问器是一回事。getter 检索私有变量和常量以在类的范围之外访问。

句法

我们对 Java 访问器使用关键字“ get ”。要访问变量“ name ”,我们可以使用以下 getter getName()。对于访问器方法的示例,请查看以下内容。
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
请注意,每个 getter 在方法签名中的变量名前都有关键字“ get ”,返回类型与要返回的变量的类型相同。由于变量“ name ”是“ String ”类型,因此 getter/accessor 方法也返回一个“ String ”。

突变体

Java 中的 mutator 方法由单词“mutate”驱动,字面意思是修改。修改器允许用户设置/修改类对象的私有变量的值。在面向对象的编程上下文中,“ set ”方法或“ setter ”也称为更改器。Setter 便于封装,因为不能直接修改私有数据成员。因此 setter 方法/修改器用于更新类范围之外的变量值。

句法

对于修改器,我们使用“ set ”关键字。每个设置器都由关键字“set”定义,后跟需要改变的变量的名称。在这里,我们使用 setter setName(),它接受一个 String 类型的变量作为参数。
public class Student {

	private String name;

	public void setName(String name) {
		this.name = name;
	}
}

为什么我们需要访问器和修改器?

我们需要 getter 和 setter 或访问器和修改器来保护类中的敏感信息。使用这些标准方法可以防止信息被非法使用。此外,如果增变器中的数据集满足程序的所有要求,也可以对其进行验证。

访问器和修改器示例

通过使用下面的学生类,让我们看一下访问器和修改器方法的示例。

例子

import java.util.Arrays;

public class Student {

	private String name;
	private Integer ID;
	private String DOB;
	private double GPA;
	private String[] courses;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getID() {
		return ID;
	}

	public void setID(Integer iD) {
		this.ID = iD;
	}

	public String getDOB() {
		return DOB;
	}

	public void setDOB(String dOB) {
		this.DOB = dOB;
	}

	public double getGPA() {
		return GPA;
	}

	public void setGPA(double gPA) {
		this.GPA = gPA;
	}

	public String[] getCourses() {
		return courses;
	}

	public void setCourses(String[] courses) {
		this.courses = courses;
	}

	public static void main(String[] args) {

		Student student1 = new Student();

		System.out.println("Student Bio [ Before using Accessors & Mutators ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " +  Arrays.toString(student1.getCourses()));

		// calling mutator methods
		student1.setName("Alex Coy");
		student1.setID(3115);
		student1.setGPA(2.79);
		student1.setDOB("08/08/1998");
		String[] courses = { "Object Oriented Programming", "Cryptography", "Photography", "Network Security" };
		student1.setCourses(courses);

		System.out.println("\nStudent Bio [ After using Mutators & Accessors ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " + Arrays.toString(student1.getCourses()));
	}
}

输出

学生简介 [使用访问器和访问器之前] 姓名:null ID:null GPA:0.0 DOB:null 课程:null 学生简介 [使用访问器和访问器之后] 姓名:Alex Coy ID:3115 GPA:2.79 DOB:08/08/1998课程:【面向对象程序设计、密码学、摄影、网络安全】

结论

这是 Java 访问器和修改器的快速介绍和示例。建议您创建自己的示例示例并亲自测试这些方法。作为下一个练习,您可以找到通过 IDE 自动添加 getter 和 setter 的方法。找出并告诉我们!
评论
  • 受欢迎
你必须先登录才能发表评论
此页面还没有任何评论