⑴ java 封裝是什麼
什麼是封裝?
封裝從字面上來理解就是包裝的意思,專業點就是信息隱藏,是指利用抽象數據類型將數據和基於數據的操作封裝在一起,使其構成一個不可分割的獨立實體,數據被保護在抽象數據類型的內部,盡可能地隱藏內部的細節,只保留一些對外介面使之與外部發生聯系。系統的其他對象只能通過包裹在數據外面的已經授權的操作來與這個封裝的對象進行交流和交互。也就是說用戶是無需知道對象內部的細節,但可以通過該對象對外提供的介面來訪問該對象。
在現實世界當中我們可以看到很多事物都是封裝好的,比如「滑鼠」,外部有一個殼,將內部的原件封裝起來,至於滑鼠內部的細節是什麼,我們不需要關心,只需要知道滑鼠對外提供了左鍵、右鍵、滾動滑輪這三個簡單的操作。對於用戶來說只要知道左鍵、右鍵、滾動滑輪都能完成什麼功能就行了。為什麼滑鼠內部的原件要在外部包裝一個「殼」呢,起碼內部的原件是安全的,不是嗎。
再如「數碼相機」,外部也有一個殼,將內部復雜的結構包裝起來,對外提供簡單的按鍵,這樣每個人都可以很快的學會照相了,因為它的按鍵很簡單,另外照相機內部精密的原件也受到了殼兒的保護,不容易壞掉。
面向對象的三個特性:
1、封裝
2、繼承
3、多態
根據以上的描述,可以得出封裝有什麼好處呢?
封裝之後就形成了獨立實體,獨立實體可以在不同的環境中重復使用,顯然封裝可以降低程序的耦合度,提高程序的擴展性,以及重用性或復用性,例如「滑鼠」可以在A電腦上使用,也可以在B電腦上使用。
另外封裝可以隱藏內部實現細節,站在對象外部是看不到內部復雜結構的,對外只提供了簡單的安全的操作入口,所以封裝之後,實體更安全了。
總體來說,好處就是以下幾點:
1、提高了安全性
2、提高了復用性
3、隱藏了實現細節
⑵ Java中類的封裝是如何實現的
java類中,是分四種級別的:public,private,保護,和默認級別。其中最常用的是public和private級別。java類封裝,就是通過級別來控制的。private級別時,只可以類內部訪問。public級別可讓其他人使用。所以封住java類時,只要把你想封裝的類資源寫成private級別,再在類內部給它提供一個可被他人調用的public方法,這樣,就實現了封裝。大概就是這樣吧
⑶ 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中常用的封裝方式有以下幾種:
1 、Boolean VS boolean
public final class Boolean extends ObjectimplementsSerializable,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 Objectimplements Serializable, ComparableCharacter類在對象中包裝一個基本類型char的值。 Character類型的對象包含類型為char的單個欄位。此外,該類提供了幾種方法,以確定字元的類別(小寫字母,數字,等等),並將字元從大寫轉換成小寫,反之亦然。
4 、Double VS double
public final class Double extends Number implements ComparableDouble類在對象中包裝了一個基本類型double的值。每個Double類型的對象都包含一個double類型的欄位。此外,該類還提供了多個方法,可以將double轉換為String,將String轉換為double,還提供了其他一些處理double時有用的常量和方法。
5、 Float VS float
public final class Float extends Number implements Comparable
Float類在對象中包裝了一個float基本類型的值。Float類型的對象包含一個float類型的欄位。此外,此類提供了幾種方法,可在float類型和String類型之間互相轉換,並且還提供了處理float類型時非常有用的其他一些常量和方法。
⑸ 在JAVA中如何封裝代碼
封裝在java中有兩種表現
1.用類封裝一個事物的屬性和方法。
2.用方法來封裝一個固定的演算法。
樓上所說的其實是封裝的程度不一樣,在面向對象的術語中粒度來表示這個程度。
封裝其實是要看情況而定的,如果你這個類是描述人的,需要這個人完成一些基本的動作,如吃飯,走路,那麼就不用把細胞也封裝進來。但是如果「人」這個類,需要做醫學的研究用,那麼就需要封裝細胞這個屬性了。
代碼打多了就自然能理解了,不是一個復雜的概念。呵呵。
⑹ java 封裝是什麼
什麼是封裝?
在定義類的時候,如果可以直接修改類中的欄位那麼就可能會出現以下的情況,age可以設置成1000,score可以設置為10000
所以就引出了封裝的概念,那麼什麼是封裝呢或者說封裝可以實現那些目的
封裝可以隱藏實現的細節
讓使用者只能通過實現寫好的訪問方法來訪問這些欄位,這樣一來我們只需要在這些方法中增加邏輯控制,限制對數據的不合理訪問、
方便數據檢查,有利於於保護對象信息的完整性
便於修改,提高代碼的可維護性
為了實現良好的封裝,需要從兩個方面考慮
把欄位(成員變數)和實現細節隱藏起來,不允許外部直接訪問
把方法暴露出來,讓方法控制這些成員變數進行安全的訪問和操作
因此,封裝就有兩個含義:把該隱藏的隱藏起來,把該暴露的暴露出來。
⑺ java怎麼封裝和調用裡面的值
封裝就是將 a b c 用private私有化,讓別人不能直接訪問,提供public get,set方法,來取得值,設置值;如 n.getA()*x*x+n.getB()*x+n.getC()==2*x*x+1*x+3 這樣提高了代碼安全性
package Test;
public class num {
private int a;
private int b;
public int c;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
public int getC() {
return c;
}
public void setC(int c) {
this.c = c;
}
}
class test3{
public static void main(String[] args) {
num n=new num();
int x=-1;
n.setA(2);
n.setB(1);
n.setC(3);
if(n.getA()*x*x+n.getB()*x+n.getC()==2*x*x+1*x+3){
system.out.print(true);
}
}
⑻ java如何封裝靜態類到一個方法里
可以這樣寫。
public class FileUtil {
private static FileUtil m_uttil = null;
public static FileUtil example() {
if (null == m_uttil) {
m_uttil = new FileUtil();
}
return m_uttil;
}
public void getFile() {
System.out.println("xx");
}
public static void main(String args[]) {
FileUtil.example().getFile();
}
}
請採納,謝謝
⑼ JAVA封裝欄位快捷鍵或快速封裝是哪個
快捷鍵:shift + alt + s。
為了實現良好的封裝,需要從兩個方面考慮:
把欄位(成員變數)和實現細節隱藏起來,不允許外部直接訪問。
把方法暴露出來,讓方法控制這些成員變數進行安全的訪問和操作。因此,封裝就有兩個含義:把該隱藏的隱藏起來,把該暴露的暴露出來。
實現封裝的方式:使用訪問控制符:
java提供了三種訪問許可權,准確的說還有一種是默認的訪問許可權,加上它一共四種。
private在當前類中可訪問
default 在當前包內和訪問
protected 在當前類和它派生的類中可訪問
public 公眾的訪問許可權,誰都能訪問
(9)java方法怎麼封裝擴展閱讀
封裝的意義:
1、封裝可以隱藏實現的細節;
2、讓使用者只能通過實現寫好的訪問方法來訪問這些欄位,這樣一來我們只需要在這些方法中增加邏輯控制,限制對數據的不合理訪問;
3、方便數據檢查,有利於於保護對象信息的完整性;
4、便於修改,提高代碼的可維護性。
包對.java源文件沒有作用,只對.class位元組碼文件起作用。包相當於一個位元組碼的相對路徑。例如上例中PackageTest.class的絕對路徑就是:G:p1p2p3
引入包可以防止文件名之間的沖突(例如一個公司的網站域名為:www.abc.def.cn,則這個公司的程序員可以將所有的包設置為cn.def.abc)。