首页  >  文章  >  Java  >  Java Getter 设置器

Java Getter 设置器

WBOY
WBOY原创
2024-08-30 16:11:19470浏览

Java 中的 Getters 和 Setters 是用于获取和更新变量值的两种方法。 Getter 方法涉及获取变量的更新值,而 setter 方法用于设置或更新现有变量的值。 java 中的 getter 和 setter 方法也分别称为 accessor 和 mutator。

Java Getter Setter 语法

下面是在java中使用getter和setter方法的语法:

广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法:

package <packagename>;
public class <className>{
// class member variable
private <datatype> <variableName>;
// getter method to fetch data
public <datatype> get<VariableName>(){
return <variableName>;
}
// setter method to update data
public void set<VariableName>(<datatype> variableName){
this.<variableName>= variableName;
}
}

在上面的语法中使用了以下符号:

  • : 包的名称。
  • : 班级名称。
  • : 变量的名称。
  • : 变量的数据类型。

在java中使用getter和setter的主要目的是提供数据隐藏。类的变量被标记为私有,并公开 getter 和 setter,以便获取和更新该变量的值。通过使用 getter 和 setter,开发人员可以控制如何在适当的条件下访问和更新变量。因此,getter 和 setter 为变量提供访问安全性,以保护其值不被外界更改。让我们考虑一个例子来清楚地说明问题:

示例:

public class Test {
//String variable marked as private
private String name;
// getter method
public String getName() {
return name;
}
// setter method
public void setName(String name) {
this.name = name;
}
}

上面的例子中,变量名被标记为private和getters;设置器被暴露。将变量标记为私有可提供数据隐藏。外部世界无法更改变量名称。

getter 和 setter 方法的命名遵循以下命名约定:

  • 获取
  • 设置

Getter 和 Setter 方法

下表显示了给定变量名称的 getter 和 setter 方法。

Variable Name Getter Method Setter Method
private int data public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
private ArrayList elements; public ArrayList getElements() {
return elements;
}
public void setElements(ArrayList elements) {
this.elements = elements;
}
private String name; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private Date date; public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
private boolean flag; // in case of boolean get is replaced with ‘is’
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
变量名称

Getter方法

Setter 方法

私有整数数据 公共 int getData() {
返回数据;
} public void setData(int data) {
this.data = 数据;
} 私有 ArrayList 元素;
package com.edubca.gettersetterdemo;
import java.util.ArrayList;
import java.util.Date;
import java.util.function.Consumer;
public class Test {
private int number;
public ArrayList languages;
private String name;
private Date date;
private boolean flag;
public int getNumber() {
return number;
}
public void setNumber(int data) {
this.number = data;
}
public ArrayList getLanguages() {
return languages;
}
public void setLanguages(ArrayList elements) {
this.languages = elements;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public static void main(String[] args) {
Test test =new Test();     // Creating an instance of class
test.setNumber(10); // setting value of Integer Data
int output= test.getNumber(); // reading value of Integer Data
System.out.println("Value of Integer Data is :" + output);
System.out.println();
test.setName("Edubca"); //setting value of String variable
String stringOutput= test.getName(); // reading value of String variable
System.out.println("Value of String Data is :" + stringOutput);
System.out.println();
ArrayList list =new ArrayList();
list.add("Java");
list.add("Hadoop");
list.add("Spark");
list.add("Hive");
list.add("Python");
list.add("C++");
list.add("Machine Learning");
test.setLanguages(list); // set list of languages
ArrayList languages=test.getLanguages(); // get list of languages
System.out.println("List of languages is : ");
languages.forEach(new Consumer<String>() {
@Override
public void accept(String t) {
// TODO Auto-generated method stub
System.out.println(t);
}
});
System.out.println();
Date date =new Date();
test.setDate(date); // setting value of date variable
Date outdate=test.getDate(); // reading value of date variable
System.out.println("Current Date is : " + outdate);
System.out.println();
test.setFlag(true); // set boolean variable
boolean outflag=test.isFlag(); // reading boolean variable
System.out.println("Flag is :" + outdate);
}
}
公共 ArrayList getElements() {
返回元素;
} public void setElements(ArrayList elements) {
this.elements = 元素;
}

私有字符串名称;

公共字符串 getName() {
返回名称;
} public void setName(字符串名称) {
this.name = 名称;
} 私人日期日期; 公共日期 getDate() {
返回日期;
} public void setDate(日期日期) {
this.date = 日期;
}

私有布尔标志;Java Getter 设置器

// 如果布尔值 get 被替换为 ‘is’
公共布尔 isFlag() {
返回标志;
} public void setFlag(布尔标志) {
this.flag = 标志;
} 表> Java Getter Setter 示例

此示例演示如何为具有不同数据类型的变量声明和使用 getter 和 setter 方法。

代码:

  1. 输出:
  2. 结论
上面的文章让我们对java中getter和setter的使用有了清晰的认识。使用 getter 和 setter 被认为是 java 开发中的最佳实践。我们在应用程序中使用 getter 和 setter,因为它们有助于创建安全、可靠且可维护的代码。 推荐文章 这是 Java Getter Setter 的指南。这里我们讨论java中getter和setter的使用及其方法和示例以及代码实现。您还可以浏览我们其他推荐的文章以了解更多信息 – Java 中的布局 Java 编译器 Java 中的合并排序 Java BufferedReader

以上是Java Getter 设置器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn