锘??xml version="1.0" encoding="utf-8" standalone="yes"?> Class aClass = Class.forName(xxx.xx.xx);
JAVA鐨勭‘鏄竴縐嶄護紼嬪簭鍛橀櫡鍏ヤ袱闅懼鍦扮殑璇█, 紜垏鐨勮鏄濇兂. 瀹冩彁渚涗簡濡傛涓板瘜鐨刲ibrary,璁╃▼搴忓憳鑳藉寰堝鏄撶殑鍐欏嚭鍔熻兘寮哄ぇ鐨勭▼搴? 鍚屾椂瀹冧篃灝佽浜嗗姝ゅ鐨勭粏鑺? 璁╃▼搴忓憳鑳藉杞繪槗鐨勫啓鍑哄緢鎷欑暐鐨勭▼搴? 瀹冩墍浠h〃鐨刼bject鎸囧悜鎬濇兂璁捐涔嬪垵鏄負浜嗘妸紼嬪簭鍛樹粠綰風箒澶嶆潅鐨勭紪紼嬬粏鑺備腑瑙f斁鍑烘潵,鏉ヨ揪鍒板宸叉湁紼嬪簭鐨勫埄鐢? 浣嗘槸鍦ㄧ紪紼?nbsp;瀹為檯涓婂張瑕佹眰紼嬪簭鍛樹簡瑙e叾瀹炵幇鐨勭粏鑺傝岄伩鍏嶅啓鍑哄洜璋冪敤宸叉湁library涓嶆寮曡搗鐨刾erformance鎱㈢殑,鑰楄垂緋葷粺璧勬簮澶氱殑紼嬪簭.閫氬父鎴愪負涓涓紭縐鐨凧AVA紼嬪簭鍛橀渶瑕佽緝闀挎椂闂寸殑緇忛獙縐瘡,鍖呮嫭浠庣▼搴忕殑tuning涓?鎴栦粠鍏朵粬鏈夌粡楠岀殑紼嬪簭鍛樺彛涓?鎵嶇煡閬撲竴瀹氬姛鑳介渶瑕佹庢牱瀹炵幇,鍦ㄧ▼搴忎腑闇瑕侀伩鍏嶉偅浜涢棶棰?浣嗚繖寰寰鏄瘮杈冪墖闈㈢殑,鐭ュ叾鐒惰屼笉鐭ュ叾鎵浠ョ劧.鎴戞兂澶у鏁扮▼搴忓憳閮芥湁綾諱技鐨勭粡鍘?涓句竴涓畝鍗曠殑渚嬪瓙,涓嬮潰鏈変笁縐嶅String鐨勭瘡鍔犳搷浣?
鈶?nbsp;String tmp = "a" + "b" + "c";
鈶?nbsp;String tmp = null;
tmp+= "a";
tmp+= "b";
tmp+= "c";
鈶?nbsp;String tmp = null;
StringBuffer buf = new StringBuffer();
buf.append("a");
buf.append("b");
buf.append("c");
tmp = buf.toString();
鏈変簺JAVA紼嬪簭鍛樺湪浠繪剰鐨勭敤榪欎笁縐嶆柟娉曠殑浠諱竴縐?鏃犺瀹冧滑鐨勫尯鍒?鏈?nbsp;浜涚▼搴忓憳鐭ラ亾絎笁縐嶆柟娉曞ソ涓鐩村湪鐢ㄨ屼笉鐭ュ叾涓轟粈涔堝ソ,浠ヨ嚦浜庝綔涓?nbsp;
緇忛獙鏁欐潯鐨勪紶鎺堢粰JAVA鏂版墜.鐪熸鐨勭瓟妗堟槸浠涔堝憿?璁╂垜浠彮寮JAVA String Class鍜孲tringBuffer Class鐨勫皝瑁呴潰綰辯湅鐪嬪畠鐨勫唴閮ㄥ疄鐜?鍦↗AVA涓殑String Class鏄竴涓笉鍙彉綾?鎵鏈夊涓涓猄ting Object鐨勬敼鍙橀兘浼氬鑷翠竴涓柊鐨凷tring Object鐨勭敓鎴?閭d箞瀵箃mp+=a涓?絎﹀彿鐨勫疄鐜板憿?濡傛灉浣犳敞鎰忎竴涓婼tringBuffer鐨凧avadoc浼氬彂鐜?JDK瀵瑰畠鐨勫疄鐜版槸tmp=(new StringBuffer().append(tmp).append("a")).toSting(); 榪欐牱鎴戜滑鍙戠幇鈶¤繖縐嶆柟娉曞湪闅愭х敓鎴愪簡涓涓猄tringBuffer Object鍜屼竴涓猄tring Object 鍐嶄箻3灝辨槸鍏釜object 鐨勮祫婧愯楄垂.(榪樹笉鍖呮嫭String Class 鍜孲tringBuffer Class鍐呴儴浣跨敤鐨凜har[])鑰屾柟娉曗憿鍙敤浜嗕袱涓?涔熻鏈変簺紼嬪簭鍛樹細瀵硅繖浜涜楄垂涓嶄互涓虹劧,鐨勭‘涔熸槸,涓嶈繃鍦ㄤ竴浜涘満鏅笅瀹冧細鎴愪負perfamence鐨勭摱棰?鍐嶅洖澶寸湅鐪嬧憼榪欑鏂規硶,瀹冧細琚獼AVA緙栬瘧鍣ㄧ紪璇戜負tmp=(new StringBuffer().append("a").append("b").append("c")).to String();鎴戜滑鍙戠幇鍋氱殑鍜屸憿鏂規硶鏄悓鏍風殑浜?
]]>
Object anInstance = aClass.newInstance();
榪欏叾涓瑿lass.forName("").newInstance()榪斿洖鐨勬槸object
渚嬶細
Class Driver{
protected static Driver current;
public static Driver getDriver(){
return current;
}
}
Class MyDriver extends Driver{
static{
Driver.current=new MyDriver();
}
MyDriver(){}
}
鐢ㄦ椂:
Class.forName("MyDriver");
Driver d=Driver.getDriver();
鏈夌殑jdbc榪炴帴鏁版嵁搴撶殑鍐欐硶閲屾槸Class.forName(xxx.xx.xx);鑰屾湁涓浜涳細Class.forName(xxx.xx.xx).newInstance()錛屼負浠涔堜細鏈夎繖涓ょ鍐欐硶鍛紵
鍦↗DBC瑙勮寖涓槑紜姹傝繖涓狣river綾誨繀欏誨悜DriverManager娉ㄥ唽鑷繁錛屽嵆浠諱綍涓涓狫DBC Driver鐨凞river綾葷殑浠g爜閮藉繀欏葷被浼煎涓嬶細
public class MyJDBCDriver implements Driver {
static {
DriverManager.registerDriver(new MyJDBCDriver());
}
}
鎵浠ユ垜浠湪浣跨敤JDBC鏃跺彧闇瑕丆lass.forName(XXX.XXX);灝卞彲浠ヤ簡錛屽湪JDBC椹卞姩涓紝鏈変竴鍧楅潤鎬佷唬鐮侊紝涔熷彨闈欐佸垵濮嬪寲鍧楋紝瀹冩墽琛岀殑鏃墮棿鏄綋class璋冨叆鍒板唴瀛樹腑灝辨墽琛岋紙浣犲彲浠ユ兂鍍忔垚錛屽綋綾昏皟鐢ㄥ埌鍐呭瓨鍚庡氨鎵ц涓涓柟娉曪級銆傛墍浠ュ緢澶氫漢鎶妀dbc driver璋冨叆鍒板唴瀛樹腑錛屽啀瀹炰緥鍖栧璞℃槸娌℃湁鎰忎箟鐨勩?/p>
鏄湪鏈嶅姟鍣ㄧ璧蜂綔鐢?褰撲嬌鐢╢orward()鏃?Servlet engine浼犻扝TTP璇鋒眰浠庡綋鍓嶇殑Servlet or JSP鍒板彟澶栦竴涓猄ervlet,JSP 鎴栨櫘閫欻TML鏂囦歡,涔熷嵆浣犵殑form鎻愪氦鑷砤.jsp,鍦╝.jsp鐢ㄥ埌浜唂orward()閲嶅畾鍚戣嚦b.jsp,姝ゆ椂form鎻愪氦鐨勬墍鏈変俊鎭湪 b.jsp閮藉彲浠ヨ幏寰?鍙傛暟鑷姩浼犻?浣唂orward ()鏃犳硶閲嶅畾鍚戣嚦鏈塮rame鐨刯sp鏂囦歡,鍙互閲嶅畾鍚戣嚦鏈塮rame鐨刪tml鏂囦歡,鍚屾椂forward()鏃犳硶鍦ㄥ悗闈㈠甫鍙傛暟浼犻?姣斿 servlet?name=frank,榪欐牱涓嶈,鍙互紼嬪簭鍐呴氳繃response.setAttribute("name",name)鏉ヤ紶鑷充笅涓涓〉闈?閲嶅畾鍚戝悗嫻忚鍣ㄥ湴鍧鏍廢RL涓嶅彉.
渚?servlet鏂囦歡涓噸瀹氬悜
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
ServletContext sc = getServletContext();
RequestDispatcher rd = null;
rd = sc.getRequestDispatcher("/index.jsp");
rd.forward(request, response);
}
2.response.sendRedirect()
鏄湪鐢ㄦ埛鐨勬祻瑙堝櫒绔伐浣?sendRedirect()鍙互甯﹀弬鏁頒紶閫?姣斿servlet?name=frank浼犺嚦涓嬩釜欏甸潰,鍚屾椂瀹冨彲浠ラ噸瀹氬悜鑷充笉鍚岀殑涓繪満涓?涓斿湪嫻忚鍣ㄥ湴鍧鏍忎笂浼氬嚭鐜伴噸瀹氬悜欏甸潰鐨刄RL.sendRedirect()鍙互閲嶅畾鍚戞湁frame鐨刯sp鏂囦歡.
渚?servlet鏂囦歡涓噸瀹氬悜
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
response.sendRedirect("/index.jsp");
}
鏈夋椂鍊欙紝浣犱笉甯屾湜鍒漢鍧愪韓鍏舵垚錛岄氳繃緇ф壙浣犲啓鐨勭被寰楀埌浠栬嚜宸辨墍闇瑕佺殑綾伙紝鎬庝箞鍔炲憿錛熻繖涓椂鍊欎綘灝卞彲浠ュ湪浣犵殑class涔嬪墠鍔犱笂final榪欎釜淇グ搴滐紝渚嬪public final class test{……}錛屽姞涓婁簡榪欎釜淇グ絎︿箣鍚庯紝鍒漢鍦ㄧ戶鎵胯繖涓被鐨勮瘽灝變細緙栬瘧鍑洪敊錛屾彁紺轟粬榪欎釜綾諱笉鑳芥瀯寤哄瓙綾匯備粠榪欐垜浠彲浠ョ湅鍑猴紝final淇グ絎﹀拰abstract淇グ絎︽槸涓嶈兘鍚屾椂浣跨敤鐨勶紝鍥犱負abstract綾誨彲浠ヨ鏄笓闂ㄧ敤鏉ョ戶鎵跨殑錛岃宖inal綾誨垯涓嶈兘鐢ㄤ簬緇ф壙銆傞偅涔堝鏋滄槸鍦ㄦ柟娉曠殑鍓嶉潰鍔犱笂final淇グ絎︽湁浠涔堜綔鐢ㄥ憿錛熸瘮濡傝A綾諱腑鏈変釜澹版槑涓篺inal鐨勬柟娉昦(){….}錛岄偅涔圔緇ф壙A鐨勬椂鍊欙紝B灝變笉鑳借鐩栨柟娉昦(){….}錛屽惁鍒欑紪璇戝嚭閿欙紝鎻愮ずCannot override the final method from A銆傛澶栵紝濡傛灉涓涓被澹版槑涓篺inal綾葷殑璇濓紝瀹冮噷闈㈡墍鏈夌殑鏂規硶閮借嚜鍔ㄦ垚涓篺inal綾誨瀷鐨勩傝嚜鐒剁殑錛屼綘鑲畾浼氶棶錛屽鏋滀竴涓煙鐢蟲槑涓篺inal鐨勬椂鍊欐湁浠涔堜綔鐢紵涓涓睘鎬у0鏄庝負final涔嬪悗錛屼綘涓嶈兘鍦ㄥ瀹冮噸鏂拌繘琛岃祴鍊鹼紝鍚﹀垯緙栬瘧鎶ラ敊錛孴he final field ×× cannot be assigned銆傚彟澶栵紝璇鋒敞鎰忥紝綾誨0鏄庝負final鐨勬椂鍊欙紝浠呬粎瀹冪殑鏂規硶鑷姩鍙樹負final錛岃屽睘鎬у垯涓嶄細銆?br />
2錛庢娊璞$被
鎶借薄綾葷殑鐢ㄥ鏄崄鍒嗗ぇ鐨勶紝鐗瑰埆鏄浜嶰OP鑰岃█錛屽叧浜庢娊璞$被錛屾葷粨鍑犵偣錛?br />
a錛?nbsp; 鎶借薄綾諱笉鑳藉疄渚嬪寲錛屽嵆涓嶈兘瀵瑰叾鐢╪ew榪愮畻絎︼紱
b錛?nbsp; 綾諱腑濡傛灉鏈変竴涓垨澶氫釜abstract鏂規硶錛屽垯璇ョ被蹇呴』澹版槑涓篴bstract錛?br />
c錛?nbsp; 鎶借薄綾諱腑鐨勬柟娉曚笉涓瀹氶兘鏄痑bstract鏂規硶錛屽畠榪樺彲浠ュ寘鍚竴涓垨鑰呭涓叿浣撶殑鏂規硶錛?br />
d錛?nbsp; 鍗充嬌涓涓被涓笉鍚娊璞℃柟娉曪紝瀹冧篃鍙互澹版槑涓烘娊璞$被錛?/p>