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("[运行静态区块]");
}
}