❶ java中什麼是封裝類,如何使用
java中的封裝類是基本類型的封裝成對象。
使用方法:
package wrapper;
public class IntegerTest1 {
public static void main(String[] args)
{
Integer i=new Integer(123);
byte b=i.byteValue();
double d=i.doubleValue();
System.out.println("將Integer封裝類專轉換為 byte值為:屬"+b);
System.out.println("將Integer封裝類轉換為 double值為:"+d);
String s1=Integer.toBinaryString(i);
String s2=Integer.toOctalString(i);
String s3=Integer.toHexString(i);
System.out.println("轉換為二進制的值為:"+s1);
System.out.println("轉換為八進制的值為:"+s2);
System.out.println("轉換為十六進制的值為:"+s3);
}
}
❷ java中string到底是個啥 數據類型還是啥
String是字元串數據類型
char name是定義的字元類型
字元可以看做是字母如a、b、c,簡單說就是只能表示一個字元
name一般是由一個字元串(多個字元組成),所以用String類型
❸ java中的封裝類
java編程思想中其實就提到了,還是做了一下總結:
1.基本類型只能按值傳遞,而每個基本類型對應的封裝類是按引用傳遞的。
2.從性能上說java中的基本類型是在堆棧上創建的,而所有的對象類型都是在堆上創建的,(對象的引用在堆棧上創建)。比如
Integer i=new Integer(10); 其中new Integer()是在堆上創建的,而他的引用Integer i是在堆棧上。 封裝類的出現,是為了更方便的使用一些基本類型不具備的方法,比如valueOf(),toString()等等。還有你如果想傳遞一個int對象的引用,而不是值,那隻能用封裝類。
在堆棧上分配內存的調用效率和在堆上分配內存的效率差太多了。雖然在堆棧上分配內存效率高,不過在堆棧上分配內存有內存泄露的問題。(這是一個平庸程序員基本解決不了的問題...)java用了一種很天才的方法提高了在堆上分配內存的效率,盡管如此,java還是慢。他不太可能達到向c++那麼快,盡管他一直在承諾總有一天虛擬機會和機器碼速度一樣快。
JDK5.0開始可以自動封包了 ,也就是基本數據可以自動封裝成封裝類,基本數據類型的好處就是速度快(不涉及到對象的構造和回收),封裝類的目的主要是更好的處理數據之間的轉換,方法很多,用起來也方便。
當然,封裝類型的傳遞是引用傳遞,比如
Integer a = new Integer(1);
表示一個Integer類型的引用a引用了一塊內存,這塊內存中的數據是1; 而a中所存的則是這塊內存的引用(地址),把a傳給別的方法或對象時,則是把a的引用傳遞過去了。
類型之間的轉換:
String b = "123456";
int c = Integer.parseInt(b);
表示把字元串123456轉成整型數字,其中parseInt是靜態方法,可以直接使用
還有一點,在某些場合,需要用到封裝類,比如一個集合List,它只能往裡面添加對象,也就是Object,那麼直接存數字肯定是不行 的,則需要將數字封裝成封裝類型對象再存到該List中,如
List list = new ArrayList();
list.add(new Integer(1));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(4));
JDK5.0以後可以自動封包,所以可以簡寫成
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
❹ 什麼是封裝Java語言中的封裝類有哪些
封裝類,就是為了方便使用,方便解釋,
方便使用,規定很多方法,記得常用的幾個在以後的編程中大有用處,還可以觸類旁通,不用記太多,也不用覺得太麻煩,以後編程編多了就好了,
另一個就方便解釋,因為是面向對象的。所以方法都可以理解為被動語句,用一個實際的例子,「我打你」這個句子,用java這種面向對象的語言來說就是
你.被打(我);
人這種類就要定義被打這種方法
此外人不僅被打,而且可以被罵,被說,被按排上學、工作等。
所有的方法都會定義在被施加者(也可以說是賓語)所屬類身上。這是java面向對象的特點。
正因為這樣每一個對象都應該有很多可以被施加的動作。
包括具有基本類型這種特徵的對象,舉個例子:1這個整數,但我們可以把它看作任何一種1可以變化的形態(如字元,雙精,浮點),那麼所有針對這種形態的動作都可以實施到它身上,但這些動作要定義在類中(但簡單的數學的加減乘除就算了),通過對象來用。我們用漢語說叫被用,可以叫面向對象。
純屬個人經驗,見笑了
❺ 在java中什麼是封裝類,有什麼意義
封裝類通常就是把某個抄對象的屬性封裝起來,這樣可以防止屬性被其他類直接更改,然後根據這個對象的需要提供訪問或者更改的方法。
舉個例子
Class People{
private String name; // 姓名
private String sex; // 性別
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
public String getSex(){
return this.sex;
}
}
這個People的類就是把名字和性別封裝了起來,然後把它們的屬性private私有化;這樣外部在People people = new People() 後,不能直接通過people.name="xxx"; 去更改你的屬性;而是需要people.setName("xxx");
這樣你就可以根據你的需要是否提供這些方法來保護你的屬性,例如上面沒有提供性別修改的公共方法,其他對象是不能直接修改的。
封裝類還有好處就是把很多相關的屬性封裝起來,方便你使用。
❻ java string是什麼類型
Java中String是一個特殊的包裝類數據,有兩種創建形式:
第一種先在棧中創建一個對String類的對象引用變數s,然後去查找"abc"是否被保存在字元串常量池中,如果沒有則在棧中創建三個char型的值'a'、'b'、'c',然後在堆中創建一個String對象object,它的值是剛才在棧中創建的三個char型值組成的數組{'a'、'b'、'c'},接著這個String對象object被存放進字元串常量池,最後將s指向這個對象的地址,如果"abc"已經被保存在字元串常量池中,則在字元串常量池中找到值為"abc"的對象object,然後將s指向這個對象的地址。
第一種特點:JVM會自動根據棧中數據的實際情況來決定是否有必要創建新對象。
第二種可以分解成兩步1、String object = "abc"; 2、String s = new String(object); 第一步參考第一種創建方式,而第二步由於"abc"已經被創建並保存到字元串常量池中,因此jvm只會在堆中新創建一個String對象,它的值共享棧中已有的三個char型值。
第二種特點:一概在堆中創建新對象,而不管其字元串值是否相等,是否有必要創建新對象。
在講字元串比較前,必須要了解==和equals的區別:
因為java所有類都繼承於Object基類,而Object中equals用==來實現,所以equals和==是一樣的,都是比較對象地址,java api里的類大部分都重寫了equals方法,包括基本數據類型的封裝類、String類等。對於String類==用於比較兩個String對象的地址,equals則用於比較兩個String對象的內容(值)。
❼ 什麼是封裝類java,date,integer,stringbuffer,system
1、來Java中有8種基本類型的封裝類(注意首字源母大寫):Byte,Short,Integer,Long,Float,Double,Boolean,Character.
2、封裝的概念:
將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來對隱藏的信息進行操作和訪問。
3、好處:
(1)只能通過規定的方法訪問數據
(2)隱藏類的實例細節,方便修改和實現。