Java 中的 Getters 和 Setters 是用于获取和更新变量值的两种方法。 Getter 方法涉及获取变量的更新值,而 setter 方法用于设置或更新现有变量的值。 java 中的 getter 和 setter 方法也分别称为 accessor 和 mutator。
下面是在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 方法。
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; } |
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); } }
私有字符串名称;
私有布尔标志;
以上是Java Getter 设置器的详细内容。更多信息请关注PHP中文网其他相关文章!