黑馬程序員 java_高新技術(一)_相關基礎、JDK1.5新特性

-------android培訓 、java培訓、期待與您交流! ----------

1、張老師課上涉及相關名詞解釋

1)  IDE  Integrity DevelopmentEnviroment 集成開發環境

2)  JavaEE  java EnterpriseEdition java企業版開發工具

3)  JMS  java MessageService java消息服務,是一個java平臺中關於面向對象中間件的API,      用於在兩個應用程序間,或分佈式系統中,發送消息,進行異步通信。

4)  JMX  java Management Extensionjava管理擴展,是一個味應用程序,設備系統植入管理功能的框架

5)  JNDI  java naming anddirectory interface  java命名和目錄接口 是一組在java應用中訪問命名和目錄服務的API命名服務 將名稱和對象聯繫起來,是的哦我們可以用名稱訪問對象,目錄服務是一種命名服務,在這種服務裏,對象不但有名稱,還有屬性。

6)  JDBC java database Connectivity  java數據庫連接 是一種用於執行SQL語句的javaAPI,可以爲多種關係數據庫提供統一訪問,它由一組用java語言編寫的接口組成。

2、JDK1.5新特性

1) 靜態導入

         Import語句可以導入一個類或者某個包中的所有類,

         Importstatic 語句導入一個類中的某個靜態方法或者所有的靜態方法

         舉例

                   importstatic java.lang.Math.sin;

                   importstatic java.lang.Math.*;

2)可變參數

         問題 一個方法接受的參數個數不固定,例如

         System.out.println(countScore(2,3,5));

System.out.println(countScore(1,2,3,5));

可變參數的特點

         只能出現在參數列表的最後,

         … 位於變量類型和變量名之間,前後有無空格都可以

         調用可變參數的方法時,編譯器爲該可以阿邦參數隱含創建一個數組,在方法體中以數組形式訪問可變參數

舉例

 public static void main(String[] args){
	 System.out.println(countScore(2,3,5));
System.out.println(countScore(1,2,3,5));

}
public static int add(int x, int …args){
	int sum =x;
	for(int i =0;i<args.lenth;i++){
		sum+=args[i];
}
return sum;
}

3)增強for循環

         語法

         for(type變量名 :集合變量名){…}

         注意事項

                   迭代變量必須在()中定義。

                   集合變量可以是數組或實現了Iterable接口的集合類

         舉例

	public static int add(int x,int ...args) {
		int sum = x;
		for(int arg:args) {
			sum += arg;
		}
		return sum;
	}

4)基本數據類型的自動裝箱與拆箱

         自動裝箱: 基本類型自動轉爲包裝類 intà Integer

         自動拆箱: 包裝類自動轉爲基本類型 Integeràint 

int a = 3;
Collection c = new ArrayList();
c.add(a);//自動轉換成Integer.

Integer b = new Integer(2);
c.add(b + 2);// 這裏Integer先自動轉換爲int進行加法運算,然後int再次轉換爲Integer.

5) 枚舉

         枚舉就是要讓某個類型的變量的取值只能爲若干個固定值中的一個,否則,編譯器就會報錯。枚舉可以讓編譯器在編譯時就可以控制源程序中填寫的非法值,普通變量的方式在開發階段無法實現這一目標。

 普通類如何實現枚舉功能,定義一個weekday的類來模擬枚舉功能

         私有的構造方法,每一個元素分別用一個共有的靜態成員變量表示,可以有若干共有方法或者抽象方法,採用抽象方法定義nextDay就將大量的if else語句轉移成一個個獨立的類。

枚舉的基本應用

 

public abstract class WeekDayTest {  
    public WeekDayTest(){}  
    public final static WeekDayTest SUN = new WeekDayTest(){  
        public WeekDayTest nextDay(){  
            return MON;  
    }};  
    public final static WeekDayTest MON = new WeekDayTest(){  
        public WeekDayTest nextDay() {  
            return SUN;  
    }};  
    public abstract WeekDayTest nextDay();  
    public String toString(){  
        return this==SUN ? "SUN" : "MON";  
}}  

枚舉類 相當於一個類,其中也可以定義構造方法,成員變量,普通方法和抽象方法。

枚舉源必須位於枚舉題中的最開始部分,枚舉元素列表後要有分號與其他成員分隔。把枚舉中的成員方法或變量等放在枚舉元素的前面。編譯器器報告錯誤。

public enum WeekDay{
		SUN(),MON,TUE,WED(1),THI,FRI,SAT;
		//構造方法必須是似有的 必須在成員列表下面
		private WeekDay(){System.out.println("調用了無參數構造方法");}
		private WeekDay(int day){System.out.println("調用了又參數的構造方法");}
		
	}

這段代碼在初始化的時候會打印三個調無參一個有參,三個無參,在元素初始化的時候會調用構造函數。

當枚舉只有一個成員時就可以作爲一種單例的實現方式

枚舉不能有public的構造函數,這樣做可以保證客戶端代碼沒有辦法建立一個enum實例。

所有的枚舉值都是public static final的,在枚舉類裏面的其他費枚舉變量可以用任何規則修飾符

Enum默認實現了java.lang.Comparable接口

Enum重載了toString方法.

Enum 提供了一個valueof 方法 是與toString隊形的。還提供了values方法,可以遍歷所有的枚舉值

Enum還有一個oridinal的方法,該方法返回枚舉值在枚舉類中的順序,這個順序根據枚舉值聲明的順序而定

6)泛型 後續會介紹泛型。


-------android培訓 、java培訓、期待與您交流! ----------
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章