System類代表系統(tǒng),,系統(tǒng)級的很多屬性和控制方法都放置在該類的內(nèi)部,。該類位于java.lang包。 由于該類的構(gòu)造方法是private的,,所以無法創(chuàng)建該類的對象,,也就是無法實例化該類。其內(nèi)部的成員變量和成員方法都是static的,,所以也可以很方便的進行調(diào)用,。 1、成員變量 System類內(nèi)部包含in,、out和err三個成員變量,,分別代表標準輸入流(鍵盤輸入),標準輸出流(顯示器)和標準錯誤輸出流(顯示器),。 例如: System.out.println(“Test”); 該行代碼的作用是將字符串”Test”輸出到系統(tǒng)的標準輸出設備上,,也就是顯示在屏幕上。 后續(xù)在學習完IO相關的知識以后,,可以使用System類中的成員方法改變標準輸入流等對應的設備,,例如可以將標準輸出流輸出的信息輸出到文件內(nèi)部,從而形成日志文件等,。 2,、成員方法 System類中提供了一些系統(tǒng)級的操作方法,,這些方法實現(xiàn)的功能分別如下: a、arraycopy方法 public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 該方法的作用是數(shù)組拷貝,,也就是將一個數(shù)組中的內(nèi)容復制到另外一個數(shù)組中的指定位置,,由于該方法是native方法,所以性能上比使用循環(huán)高效,。 使用示例: int[] a = {1,2,3,4}; int[] b = new int[5]; System.arraycopy(a,1,b,3,2); 該代碼的作用是將數(shù)組a中,,從下標為1開始,復制到數(shù)組b從下標3開始的位置,,總共復制2個,。也就是將a[1]復制給b[3],將a[2]復制給b[4],,這樣經(jīng)過復制以后數(shù)組a中的值不發(fā)生變化,,而數(shù)組b中的值將變成{0,0,0,2,3}。 b,、currentTimeMillis方法 public static long currentTimeMillis() 該方法的作用是返回當前的計算機時間,,時間的表達格式為當前計算機時間和GMT時間(格林威治時間)1970年1月1號0時0分0秒所差的毫秒數(shù)。例如: long l = System. currentTimeMillis(); 則獲得的將是一個長整型的數(shù)字,,該數(shù)字就是以差值表達的當前時間,。 使用該方法獲得的時間不夠直觀,但是卻很方便時間的計算,。例如,,計算程序運行需要的時間則可以使用如下的代碼: long start = System. currentTimeMillis(); for(int i = 0;i < 100000000;i++){ int a = 0; } long end = System. currentTimeMillis(); long time = end – start; 則這里變量time的值就代表該代碼中間的for循環(huán)執(zhí)行需要的毫秒數(shù),使用這種方式可以測試不同算法的程序的執(zhí)行效率高低,,也可以用于后期線程控制時的精確延時實現(xiàn),。 c、exit方法 public static void exit(int status) 該方法的作用是退出程序,。其中status的值為0代表正常退出,,非零代表異常退出。使用該方法可以在圖形界面編程中實現(xiàn)程序的退出功能等,。 d,、gc方法 public static void gc() 該方法的作用是請求系統(tǒng)進行垃圾回收。至于系統(tǒng)是否立刻回收,,則取決于系統(tǒng)中垃圾回收算法的實現(xiàn)以及系統(tǒng)執(zhí)行時的情況,。 e、getProperty方法 public static String getProperty(String key) 該方法的作用是獲得系統(tǒng)中屬性名為key的屬性對應的值,。系統(tǒng)中常見的屬性名以及屬性的作用如下表所示,。 屬性名列表
例如: String osName = System.getProperty(“os.name”); String user = System.getProperty(“user.name”); System.out.println(“當前操作系統(tǒng)是:” + osName); System.out.println(“當前用戶是:” + user); 使用該方法可以獲得很多系統(tǒng)級的參數(shù)以及對應的值。 |
|