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中文網其他相關文章!