1. java涓鍙橀噺鍚嶇О澶у皬鍐欐湁娌℃湁瑙勫畾
Java鏄涓縐嶅尯鍒嗗瓧姣嶇殑澶у皬鍐(case-sensitive)鐨勮璦,涓嬮潰涓句緥璇存槑Java璇璦涓鍖呫佺被銆佸彉閲忕瓑鐨勫懡鍚嶈勮寖銆
錛堜竴錛塒ackage(鍖)鐨勫懡鍚:
Package鐨勫悕瀛楀簲璇ラ兘鏄鐢變竴涓灝忓啓鍗曡瘝緇勬垚,渚嬪俷et.ebseries.moles銆
錛堜簩錛塁lass(綾)鐨勫懡鍚:
Class鐨勫悕瀛楅栧瓧姣嶅ぇ鍐,閫氬父鐢卞氫釜鍗曡瘝鍚堟垚涓涓綾誨悕錛岃佹眰姣忎釜鍗曡瘝鐨勯栧瓧姣嶄篃瑕佸ぇ鍐,渚嬪傦細DataFile鎴朓nfoParser銆
錛堜笁錛夊彉閲忕殑鍛藉悕:
鍙橀噺鐨勫悕瀛楀彲澶у皬鍐欐販鐢錛屼絾棣栧瓧絎﹀簲灝忓啓銆傝瘝鐢卞ぇ鍐欏瓧姣嶅垎闅旓紝闄愬埗鐢ㄤ笅鍒掔嚎錛岄檺鍒朵嬌鐢ㄧ編鍏冪︼紙$錛夛紝鍥犱負榪欎釜瀛楃﹀瑰唴閮ㄧ被鏈夌壒孌婄殑鍚涔夈傚傦細inputFileSize銆
錛堝洓錛 Interface(鎺ュ彛)鐨勫懡鍚:涓嶤lass鐨勫懡鍚嶇被浼箋
錛堜簲錛塖tatic Final 鍙橀噺錛堢浉褰撲簬甯擱噺錛夌殑鍛藉悕
Static Final 鍙橀噺鐨勫悕瀛楀簲璇ラ兘澶у啓錛屽苟涓旀寚鍑哄畬鏁村惈涔夛紝渚嬪傦細final MAXUPLOADFILESIZE=1024銆
錛堝叚錛夋柟娉曠殑鍛藉悕
鏂規硶鍚嶇殑絎涓涓鍗曡瘝搴旇ユ槸鍔ㄨ瘝錛屽ぇ灝忓啓鍙娣風敤錛屼絾棣栧瓧姣嶅簲灝忓啓銆傚湪姣忎釜鏂規硶鍚嶅唴錛屽ぇ鍐欏瓧姣嶅皢璇嶅垎闅斿苟闄愬埗浣跨敤涓嬪垝綰褲傚弬鏁扮殑鍚嶅瓧蹇呴』鍜屽彉閲忕殑鍛藉悕瑙勮寖涓鑷淬備嬌鐢ㄦ湁鎰忎箟鐨勫弬鏁板懡鍚嶏紝濡傛灉鍙鑳界殑璇濓紝浣跨敤鍜岃佽祴鍊肩殑瀛楁典竴鏍風殑鍚嶅瓧錛
setCounter(int size){ this.size = size; }
鏁扮粍鐨勫懡鍚
鏁扮粍搴旇ユ繪槸鐢ㄤ笅闈㈢殑鏂瑰紡鏉ュ懡鍚嶏細byte[] buffer;鑰屼笉鏄錛歜yte buffer[](涔犳儻鎬ч棶棰樿屽凡)銆
鍊煎緱娉ㄦ剰鐨勬槸錛屽懡鍚嶆椂搴斿敖閲忛噰鐢ㄥ畬鏁寸殑鑻辨枃鎻忚堪絎︼紙涔熸湁鐗逛緥錛夈傛ゅ栵紝涓鑸搴旈噰鐢ㄥ皬鍐欏瓧姣嶏紝浣嗙被鍚嶃佹帴鍙e悕浠ュ強浠諱綍闈炲垵濮嬪崟璇嶇殑絎涓涓瀛楁瘝瑕佸ぇ鍐欍
褰掔撼鎴愪互涓嬪嚑鐐癸紝灝辨槸錛氬敖閲忎嬌鐢ㄥ畬鏁寸殑鑻辨枃鎻忚堪絎︺侀噰鐢ㄩ傜敤浜庣浉鍏抽嗗煙鐨勬湳璇銆侀噰鐢ㄥぇ灝忓啓娣峰悎浣垮悕瀛楀彲璇匯佸敖閲忓皯鐢ㄧ緝鍐欙紝浣嗗傛灉鐢ㄤ簡錛岃佹槑鏅哄湴浣 鐢錛屼笖鍦ㄦ暣涓宸ョ▼涓緇熶竴銆侀伩鍏嶄嬌鐢ㄩ暱鐨勫悕瀛楋紙灝忎簬 15 涓瀛楁瘝鏄涓濂戒富鎰忥級銆侀伩鍏嶄嬌鐢ㄧ被浼肩殑鍚嶅瓧錛屾垨鑰呬粎浠呮槸澶у皬鍐欎笉鍚岀殑鍚嶅瓧銆侀伩鍏嶄嬌鐢ㄤ笅鍒掔嚎錛堥櫎闈欐佸父閲忕瓑錛夈
2. java的類型參數是什麼意思
應該是泛型中提到的一個概念,<T> 表示傳入任意參數,在給一個泛型類初始化的時候我們要給它傳入具體的值,一般是一個類型,如String,Integer或者是一個java bean類型的數據,這時候,String是作為一個參數傳過去的,但它表示的是一個字元串類型,也就是傳入了String類型的參數。此時String就是一個參數,一個類型參數。如List<string> testList = new List<string>(); 一個泛型數組,我們要規定該list中只能傳入字元串怎麼辦,這時就給他傳入一個String類型參數,只要傳入其他類型就會在編譯期報錯,這也是泛型的一個優點。
3. java main方法中的命令行參數
作用:
當你使用命令行的形式運行.class文件時,向你的類傳遞參數.
C:\>java YourClassName 參數1 [參數2 參數3 ....]
參數之間用一個空格作為間隔符.
String[] args 這個字元串數組是保存運行main函數時輸入的參數的,例如main函數所在的類名為test 那麼你在cmd運行 java test a b c 時,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中調用你輸入的這些變數了。
args[]不就是那個字元串This is a simple Java program嗎?
-------完全不是的,你理解不對。這樣好了,你在運行的時候加個參數,比如 java test XX。然後在你的main函數裡面加這段話:System.out.println("arg is"+args[0]),然後看看輸出是什麼?
是不是這個:
This is a simple Java program
arg is XX
在運行時輸入java test xx yy zz,並且在你的main函數裡面加這段話:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然後看看輸出是什麼?
是不是:
This is a simple Java program
arg is xx yy zz
現在你理解了嗎。。。
如果沒關系,為什麼程序中去掉String args[]會出現錯誤?
--------之所以去掉會出錯在於,不帶String args[]的main函數和帶String args[]的main函數,本質上已經不是同一個函數了,java 本身不存在不帶String args[]的main函數,所以當然出錯了。
4. 鍦╦ava涓涓轟粈涔堟柟娉曠殑鍙傛暟鍚嶅瓧涓嶅彲浠ュ拰鏂規硶涓澹版槑鐨勫矓閮ㄥ彉閲忕殑鍚嶅瓧鐩稿悓
鍦ㄧ被涓鍐欐柟娉曟椂錛屽傛灉鍙傛暟鍒楄〃鐨勫悕縐板拰宸茬粡澹版槑鐨勫彉閲忕殑鍚嶇О鐩稿悓鏃訛紝綾葷敓鎴愮殑瀵硅薄璋冪敤姝ゆ柟娉曞苟浼犲叆鏂扮殑鍙傛暟錛岃繖鏃舵柟娉曚細浼樺厛璇誨彇綾諱腑宸茬粡澹版槑鐨勫悓鍚嶅彉閲忥紝榪欐牱瀵硅薄璋冪敤鏂規硶涓嶇′紶鍏ヤ粈涔堝弬鏁頒竴鐩撮兘鏄劇ず鐨勬槸綾諱腑鐨勫彉閲忋
5. java 中的class.forName()是什麼意思
Class.forName:返回與給定的字元串名稱相關聯類或介面的Class對象。
Class.forName是一個靜態方法,同樣可以用來載入類。該方法有兩種形式:Class.forName(String name, boolean initialize, ClassLoader loader)和Class.forName(String className)。第一種形式的參數name表示的是類的全名;initialize表示是否初始化類;loader表示載入時使用的類載入器。第二種形式則相當於設置了參數initialize的值為true,loader的值為當前類的類載入器。
如下圖所示,java類型的屬性名稱叫name,可以通過forName的方法獲取到這個類的實例,從而獲取到類裡面的屬性。
注意:
在指定類給 class.forName() 方法後,如果找不到指定的類,會拋出ClassNotFoundException異常。Class 的靜態 forName() 方法有兩個版本,上面的代碼是只指定類名稱的版本,而另一個版本可以讓你指定類名稱、載入時是否運行靜態區塊、指定類載入器:
Static Class forName(String name, boolean initialize, ClassLoader loader)
默認在載入類的時候,如果類中有定義靜態區塊則會運行它。你可以使用 class.forName() 的第二個版本,將initialize設定為 false,這樣在載入類時並不會立即運行靜態區塊,而會在使用類建立對象時才運行靜態區塊。為了印證,可以先設計一個測試類:
package cn.sunzn.demo;public class TestClass { static {
System.out.println("[運行靜態區塊]");
}
}