導航:首頁 > 編程語言 > java中的setget

java中的setget

發布時間:2023-05-17 02:11:18

java中SET和GET。。。

java程序一般將A類的屬性修飾符設置為private,這是為了更好的封裝數據。要想在B類里引用該屬性,就可以在A類里定義修飾符為public的set,get方法以設置和獲取private型的屬性值

別說的那麼專業化了,理解都要半天。
就這么理解吧,面向對象中,想對類的成員變數設置訪問一些許可權,於是,就將該欄位設置為private的,這樣別的類就不能訪問了,然後在該內定義兩個方法,一個專門用於獲取,一個用於修改,這樣,在你不想讓別人亂動該欄位的時候,就在該方法內寫一些限制條件。
而為了規范起見(團隊開發需要嘛),就根據人家老外的習慣,將方法名設置為set+欄位名,get+欄位名(名字亂改沒問題),既然規范了,那就是別人都叫這名了,於是,有些框架給對象賦值就有方法了,方法名稱由get或set開始的又有private變數名的,就找出來調用。hibernate1框架就這樣弄得,至於後面的版本是不是這樣就不大清楚了。
JavaBean就是一個JAVA類,既然是JAVA類就不需要什麼組件了,這玩意直接深入到虛擬機了的
java程序規范中會建議大家盡量將類中的屬性私有化,即定義為private變數,通過設置set和get函數來對屬性進行操作。一些人存在這樣的疑問,為什麼不直接將屬性設置為public,以後調用屬性時直接通過對象進行訪問不是更方便?

當然java中這樣做有它的原因:

1 將數據與行為分離,也就是java的面向對象的概念。
對象就是屬性+行為,封裝就是把對象的私有屬性封裝起來,只有通過自己公開的行為去改變(獲得)對象內部的私有屬性信息,而那些public的方法正是面向其他對象的介面,只有通過介面去改變(獲得)對象的私有屬性

2 安全性
設想,你有一個Person類代表一個人,Person有一個char類型的sex欄位表示性別,理論上,sex只接受兩個值, 'M '和 'F ',但如果你把sex欄位設為public,你很難限制你的用戶只給它賦 'M '或 'F '值。將sex設為private,再用setSex()來設置性別,你就完全可以控制這種行為了。而且你還可以控制只能get不能set,或相反,但如果是public就不行了。別外有一點屬性我們可能並不希望其他用戶對我們的屬性進行寫操作,這個時候,可以直接不寫setX方法。這就是只讀屬性了。

3 編碼規范性
我們在設計類,或者作com組件時經常告訴其實coder,你只需要調用我的XX介面方法就可以了,內部我是怎麼實現的,你不用管,如果面向特定的環境特定的時間段,直接將屬性聲明為public,讓外部對象訪問也未償不可,沒有面象對象思想時,我在寫C語言程序時結構中的變數是可以隨意被訪問的,因為沒有pulbic,private之分,現在我們是面向對象編程,我們需要在介面處作文章,而保護對象的私有屬性,即安全性,只有通過對外公開的介面方法去訪問在面向對象理論上認為是安全的。

4 穩定性

5 可擴展性

6 便於維護

㈡ java中「get」和「set」方法怎麼寫

java bean就是把自己的數據成員封裝起來, 讓外界不能直接操作數據成員; 而只能通過bean提供的get 和 set方法進行操作,保證了數據安全性。可以理解為:get就是把對象中的值拿出來, set就是把某個值放到對象中去。
比如:
public class LoginInfoBean {
private String time; //時間
private String ip; //IP
private String account; // 賬號

public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}

public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}

public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
}
---------------------------------------------------------------
關於如何在servlet中取得數據:
首先要明白,我們提交到servlet的數據,需要走servlet的doGet或者doPost方法。
如果你不用框架,只用純粹的servlet,在servlet的doGet和doPost方法中因為只有兩個參數,也就是HttpRequest和HttpResponse,比如:
doPost(HttpServletRequest req,
HttpServletResponse resp){
........
}
按照以上的寫法,只能通過req.getParamter("xxx")取得;
比如下面這個例子:
file: login.jsp
<form id="loginform" name="loginform" method="post" action="LoginServlet" >
<input name="userName" type="text" id="userName" />
ps: 通過 action="LoginServlet" 可以知道,提交的路徑為LoginServlet, 然後會到web.xml中尋找關於LoginServlet 的具體配置,以確定是哪個servlet處理這個請求。
file: web.xml
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.test.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
ps: 通過以上配置可以確定,處理這個請求的servlet為com.test.LoginServlet
file: com.test.LoginServlet.java
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("userName");
}
ps: 通過 request.getParameter("userName"); 就可以取得頁面上輸入的值。

如果用框架,每個框架的機制不一樣,需要分別對待, 但底層也都是servlet。我接觸過的struts1, struts2, 和spring MVC, 其中 struts1 給我們提供了一個formbean, 用於收集頁面的數據(就是上面那個javabean的問題); struts2和spring MVC 省去了formbean, 後台處理的action就是一個bean, 數據在action中直接可以取到。

推薦一個簡單的方法:寫get/set方法,OC有一個自動化的方法,即使用@proterty和@synthesize關鍵字

Person.h

㈢ java get和set方法

java get和set方法是什麼呢?一起來了解下吧:

set和get這兩個詞的表面意思,set是指設置的意思,而get是獲取的意思,顧名思義,這兩個方法是對數據進行設置和獲取用的,一般來說set和get方法都是對私有域變數進行操作的,因為私有域的變數其他緩告類不能訪問,所以需要藉助get和set方法用於訪問私有域變數。
import java.util.Arrays; public class More {  擾鎮明public static void main(String[] args) {   /*   int[] arr = {24,56,3,18,5};   System.out.println(Arrays.toString(arr)); //將arr數組轉換為字元串,並輸出   */      Student zs = new Student();   zs.setName("zhangsan");   zs.setAge(25);   System.out.println(zs.getName());   System.out.println(zs.getAge());     } } class Student{ //get/set結構  private String name;  private int age;    public String getName() {   return name;  }  public void setName(String 旅州name) {   this.name = name;  }  public int getAge() {   return age;  }  public void setAge(int age) {   this.age = age;  } }

㈣ java的get和set方法

set設置對象屬性值,get從對象屬性中獲取值get自然是取值
set
自然是設置值
這個是
java的
面向對象編程的回一個答特點直接GETSET用唄JAVA中有一個概念叫做封裝,封裝就是將對象一些自身的屬性封裝起來,隱藏起來,不讓外界任意訪問,如果你要讓外界訪問這個屬性你就要提供get和set方法。比如你叫張三,你的名字只有你一個人知道(私有屬性),別人問你叫什麼,你說出你的名字就調用了你的get方法,反之如果給你取名字調用的就是你的set方法,get和set方法不是一定要必須兩者都有,你可以根據實際情況而定。get方法是用來得到對象里屬性的值,set方法相反,是用來給對象的屬性設值的。get方法一般是得到成員變數的值,set是設置一個成員變數的值

㈤ 在java中,set和get方法什麼時候用

get()和set()有一個好處,當輸入.get(.set)時就能顯示所有的屬性。把所有設置都歸納起來,對於外部的使用都方便而已。

1、靈活性
比如我們有一個Person類,我們給它設置一個屬性name,但是我們希望在取名字的時候,不是只顯示名字,而是把名字按我們的要求輸出,比如」我的名字叫XX」,代碼如下:

publicclassPerson{
privateStringname;

publicStringgetName(){
return"我的名字叫"+name;
}

publicvoidsetName(Stringname){
this.name=name;
}
}

如上代碼,以後我們只要定義一個person對象,並給他setName(xx),再getName的時候,就會顯示我的名字叫XX。

2、安全性。
比如我們的操作系統在新建用戶或在共享文件的時候,經常會提示對針對某個用戶的許可權是什麼,是只讀還是只寫還是可讀寫,這里的讀寫就好比get/set。

對於類來說,如果不使用set/get方法,直接用public定義某個屬性,那麼這個屬性是可讀可寫的,如果你希望一個類的某個屬性是只能讀取,不能寫入的時候,上面用public定義某個屬性就不能滿足了,但是我們可以使用private定義屬性,再定義一個get方法,但是不定義set方法來實現。反之,只定義set,不定義get則表示該屬性是只寫不能讀的。如下列代碼:

publicclassCircle{
privatedoubleradius;

privatedoublepai=3.14;

publicdoublegetPai(){
returnpai;
}

publicvoidsetRadius(doubleradius){
this.radius=radius;
}

/**
*計算周長
*/
publicdoublegetC(){
return2*pai*radius;
}
}

我們定義了一個圓類,定義了屬性半徑和pai,半徑我只提供寫的方法,但是不提供讀,而pai只提供讀,但不能寫,並提供了一個計算周長的方法getC。在實際項目中,對一些類的設計時,嚴謹的設計是要考慮哪些類是只讀或是只寫的。

㈥ JAVA中SET 和 GET 的用法

set 和 get是屬性的存取器
set表示設置值
get表示獲取值

㈦ Java中的set和get

主要是封裝上使用。
本鉛液配例是通過構造方法,埋絕輸入參數實例化的。槐指

class Point {
private float x;
private float y;
private float z;
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
public float getZ() {
return z;
}
public void setZ(float z) {
this.z = z;
}
float distance(Point p) {
float d;
d = (x * x + y * y + z * z);
return d;
}
}
public class PointTest {
public static void main(String[] args) {
Point s = new Point();
s.setX(1.0f);
s.setY(2.0f);
s.setZ(3.0f);
System.out.println(s.distance(s));
}
}

㈧ Java中的get和set方法究竟是什麼意思

get成員方法和set成員方法分別用於讀取和設置私有變數的值
一般建議將有特殊限制的成員域的訪問控制方式設則乎圓置為私有模式。這時,可以添加兩個成員方法分別讀取和設置這個具有特殊限制的成員域的值。在這兩個成員方法中,由於讀取該成員域的值的成員方法的名稱通常含有字元序列「get」,因此該成員方法通常簡稱為「get」成員方法;而設置該成員域的值的成員方法的名稱通常含有字元序列「set」,因此該成員方法通常簡稱為「set」成員方法。
這樣可以加頃基強孫塌程序的封裝性和安全性,外部程序不能直接訪問私有變數,只能通過get成員方法和set成員方法讀取和設置私有變數的值。

㈨ java中的get 和set 是什麼意思

set和get就是用於設置和讀取Java
private變數的方法。這樣子外部程序就不會直接訪問程序的變數。只能通過set去設置值,用get去讀取值。有利於對外封裝。防止外部程序隨意修改我們的變數。

㈩ 在Java中,set是設置,get是取得,請問是先set,還是get

set是賦值,get是獲取值,如果想賦值或者改變原值用如畝喊渣野set(值),如果原來有值直接用get獲取,也可以set賦值後再get。看你自己需求,set,get不一定耐閉非要同時用。

閱讀全文

與java中的setget相關的資料

熱點內容
cad新文件能找回來嗎 瀏覽:951
導出手機qq文件到u盤 瀏覽:456
電腦如何打開ppt文件怎麼打開方式 瀏覽:782
魅族鎖定區文件夾 瀏覽:357
刻字cnc怎麼編程 瀏覽:182
學校的網路拓撲結構圖 瀏覽:784
收集100個pdf文件里關鍵詞 瀏覽:594
蘋果關閉4g網路設置 瀏覽:289
如何監測資料庫 瀏覽:967
拷貝過來的pdf文件 瀏覽:751
抖音小店的訪客數據怎麼看 瀏覽:670
怎麼把c語言編程的字元向下移動 瀏覽:786
sql刪除文件組代碼 瀏覽:978
安卓post請求多重json 瀏覽:776
微信消除數據怎麼恢復 瀏覽:918
小米刷機顯示系統找不到指定文件 瀏覽:528
蘋果手機小風扇圖app叫什麼 瀏覽:292
繁體中文輸入工具 瀏覽:916
pc桌面壁紙文件夾 瀏覽:473
微信怎麼添加群 瀏覽:781

友情鏈接