jdk1.5的新特性
一、自動裝箱和拆箱
1、自動裝箱和拆箱是由編譯器幫助完成從基本資料型別和基本資料型別的包裝類之間的轉換。
①基本資料型別:int,long,double,float,boolean,char,byte,short
②基本資料型別包裝類:integet,long,double,float,boolean,character,byte,short
2、自動裝箱和拆箱的過程,例如:
//這裡編譯器是這樣編譯的integer i = new integer(137);
integer i = 137;
//這裡的話是i.intvalue();變成了int再和1相加
int x = i +1;
3、享元模式由小的具體共同屬性的物件變成乙個物件,例如:integer 就從-128到127是同乙個物件,也就是乙個位元組
integer i1 = 127;
integer i2 = 127;
integer i3 = 128;
integer i4 = 128;
system.out.println(i1==i2);//此處是相等的
system.out.println(i4==i3);//此處不相等
二、可變引數
當呼叫函式的時候不確定要使用多少個引數的時候使用可變引數,可變引數必須放在最後面寫入。例如:
getsome(1,2,3,11,1);
//可變引數..這裡接收了5個引數,乙個是a的,剩下四個在args這個陣列裡面
public static void getsome(int a ,object...args)
//對int陣列進行遍歷
int arr1 =;
for(integer i : arr1)
//對集合的迭代,迭代器多了乙個刪除的功能
setset = new treeset();
set.add("add");
set.add("asfasf");
set.add("fasg");
iterator it = set.iterator();
while(it.hasnext())
//而這種增強for只能進行遍歷
for(string s : set)
system.out.println(s);
五、列舉
列舉就是讓某個型別變數的取值只能為若干固定中的乙個,否則編譯器就會報錯,列舉可以讓編譯器在編譯時就可以控制源程式中填寫非法的值,因為普通變數在開發中無法實現這也目標。
例如:定義乙個交通燈列舉,包含紅燈、綠燈、黃燈,需要有獲得下乙個燈的方法,紅燈獲取下乙個燈是綠燈,綠燈獲取下乙個燈是黃燈。
public enum enumerationlamp
}//定義黃燈,實現下乙個等是紅燈
yellow
},//定義紅燈實現下乙個等是綠燈
red
};//定義乙個抽象方法,讓列舉成員去實現
public abstract enumerationlamp next();
//重寫tostring可以實現名字的顯示
public string tostring()
return name; }}
黑馬程式設計師 JAVA高新技術之物件導向的設計思想
張孝祥老師物件導向的設計思想 誰擁有資料,誰就對外提供操作這些資料的方法,誰具有這項屬性,誰就提供操作這些屬性的方法。經典案例分析 1 人在黑板上畫圓 這個案例有三個物件 person,blackboard,circle 有乙個動作畫圓,畫圓這個動作可以封裝成乙個方法draw 那麼,這個draw 方...
Java高新技術 列舉
說明 當乙個類的物件個數固定,且不需要再建立這個類新的物件時,可以考慮用列舉。一,列舉原理 列舉型別特有 1.私有構造方法 2.每個元素分別用乙個公有的靜態成員變數表示 3.可以有若干個公有方法或抽象方法,抽象方法可以使每個元素 本類物件 通過覆蓋具有自己獨特的內容 注 列舉型別的元素就是本類物件,...
黑馬程式設計師 高新技術之可變引數與裝箱拆箱
asp.net android ios開發 net培訓 期待與您交流!可變引數 特點 只能出現在引數列表的最後 位於變數型別和變數名之間,前後有無空格都可以 呼叫可變引數的方法時,編譯器為該可變引數隱含建立乙個陣列,在方法中以陣列的形式訪問可變引數 基本型別的自動拆箱與裝箱 享元模式 flyweig...