首頁 > Java > java教程 > Java Getter 設定器

Java Getter 設定器

WBOY
發布: 2024-08-30 16:11:19
原創
534 人瀏覽過

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

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板