導航:首頁 > 編程語言 > java封裝屬性

java封裝屬性

發布時間:2023-06-06 13:24:26

㈠ 在java中什麼是封裝,舉一個例子說明一下

類的封裝性即不能讓外面的類隨意修改一個類的成員變數;

在定義一個類的成員,使用private關鍵字說明這個成員的訪問許可權,只能被這個類的其他成員方法調用,而不能被其他的類中的方法所調用;

為實現封裝性,常將類的成員變數聲明為private,再通過public的方法來對這個變數進行訪問。對一個變數的操作,一般都有 讀取和賦值操作,我們一般定義兩個方法來實現這兩種操作,即:getxxx()與setxxx();

一個類就是一個模塊,我們應該讓模塊僅僅公開必須要讓外界知道的內容,而隱藏其他的一切內容。再進行程序設計時,應盡量避免一個模塊直接修改或操作另一個模塊的數據,模塊設計追求強內聚,弱耦合。

㈡ Java的封裝有哪些

JAVA中常用的封裝方式有以下幾種:

1 、Boolean VS boolean

public final class Boolean extends Object  implementsSerializable,Comparable

Boolean 類將基本類型為boolean的值包裝在一個對象中。一個Boolean類型的對象只包含一個類型為boolean的欄位。此外,此類還為boolean和String的相互轉換提供了許多方法,並提供了處理 boolean時非常有用的其他一些常量和方法。

2、 Byte VS byte

public final class Byte extends Number implements Comparable

Byte類將基本類型 byte的值包裝在一個對象中。一個Byte類型的對象只包含一個類型為 byte的欄位。此外,該類還為 byte和 String的相互轉換提供了幾種方法,並提供了處理 byte時非常有用的其他一些常量和方法。

3、 Character VS char

public final class Character extends Object  implements Serializable, Comparable Character類在對象中包裝一個基本類型char的值。       Character類型的對象包含類型為char的單個欄位。此外,該類提供了幾種方法,以確定字元的類別(小寫字母,數字,等等),並將字元從大寫轉換成小寫,反之亦然。

4 、Double VS double

public final class Double extends Number implements Comparable Double類在對象中包裝了一個基本類型double的值。每個Double類型的對象都包含一個double類型的欄位。此外,該類還提供了多個方法,可以將double轉換為String,將String轉換為double,還提供了其他一些處理double時有用的常量和方法。

㈢ 在Java面向對象的編程當中的為什麼要封裝什麼叫封裝

java面向對象編程中所謂封裝,就是通過定義類並且給類的屬性和方法加上訪問控制來抽象事物的本質特性。
封裝就是定義一個類,然後給該類的屬性(成員變數)和方法加上訪問控制修飾詞(public,private, protected,默認包訪問許可權),使得該類的屬性和方法對於類外部來說,想可見的可見,不想可見的隱藏。就是把數據和行為結合在一起在一個包中,並對對象使用者隱藏數據的實現過程。Java用3個關鍵字來設置邊界,從而進行對數據的隱藏。Public(共有)的定義任何人都可使用.private(私有)意味著除你自己,類型創建者及那個類型的內部函數成員可以訪問外其他任何人使用都會產生錯誤。Friendly(友好)
意味在包(package)中是可以訪問的.

㈣ java封裝屬性 數組

這段代碼也是醉了,你存入list應該是一個對象Person,

而你給一組數組賦值我也是沒搞懂你的意思,

你這樣寫代碼能存入list集合的只是一個Person對象,而你給對象欄位賦值的語句就只有p.name = s.next();p.pingjun = (rr / (a.length - 1)) + "";,只有2個屬性付了值,其他的沒有賦值是null;

一個構造器給Person的數組賦值?一個長度20的字元空數組,然後你給w數組賦值,那麼你這樣子賦值你以為可以影響到Person的值?w[i] = u + "";這句代碼,與Person對象沒半毛錢關系,對象引用都沒有怎麼賦值,

你最後列印的是Person對象的欄位,而你存入一個空數組,然後把string類型欄位的原始屬性給一個數組,Person(String r[]) {
r[1] = this.yuwen;
r[2] = this.shuxve;
r[3] = this.wuli;
r[4] = this.waiyu;
r[5] = this.huaxve;

}

這有啥用,我很好奇你這個r數組也不是類中的欄位,你給他付了null的值,你給他傳入的是長度20的數組,後面還有15個長度呢,不管這個,關鍵是這個數組啥用也沒有除了浪費內存


下面這段代碼中list.add(p);,你把Person 對象存入list,此時的Person 對象被賦值的就只有2個欄位,你給w,r數組的值無法影響到Person 對象,且這個方法執行完畢後,也會被清理掉因為沒有被引用到

這個時候可以回答你的問題了,為什麼你輸入的分數顯示都是null:

因為他都沒被賦值到Person 的成員變數上面,沒被賦值的成員變數的String值是null,容易你列印Person 未被賦值的成員變數的值,就是null;

String r[] = new String[a.length - 2];

String w[] = new String[20];
int rr = 0;
Person p = new Person(w);

p.name = s.next();

for (int i = 1; i < a.length - 1; i++) {
int u = s.nextInt();
w[i] = u + "";
r[i - 1] = u + "";
rr += u;
}
p.pingjun = (rr / (a.length - 1)) + "";
list.add(p);

㈤ Java中類的封裝是如何實現的

java類中,是分四種級別的:public,private,保護,和默認級別。其中最常用的是public和private級別。java類封裝,就是通過級別來控制的。private級別時,只可以類內部訪問。public級別可讓其他人使用。所以封住java類時,只要把你想封裝的類資源寫成private級別,再在類內部給它提供一個可被他人調用的public方法,這樣,就實現了封裝。大概就是這樣吧

閱讀全文

與java封裝屬性相關的資料

熱點內容
京東伺服器為什麼會崩 瀏覽:830
php超類 瀏覽:819
怎麼在美團APP上請假 瀏覽:96
午夜激情影院 瀏覽:240
歐拉app怎麼下訂單 瀏覽:422
肉文有聲小說 瀏覽:955
求個看片的網址 瀏覽:547
pythonsin函數圖像 瀏覽:329
身體不好當程序員 瀏覽:274
mount命令作用 瀏覽:220
畫江湖之不良人黑白無常雙修刪減 瀏覽:754
朵唯手機如何加密 瀏覽:504
安卓雙清指的什麼 瀏覽:179
phpredis所有keys 瀏覽:988
朋友賣房要解壓嗎 瀏覽:108
sar命令安裝 瀏覽:169
安卓怎麼看我自己去過哪裡 瀏覽:283
演算法分析里log沒有底數嗎 瀏覽:222
伺服器卡頓怎麼連接 瀏覽:957
手機拍照文件夾自動生成 瀏覽:788