6.闈㈠悜瀵硅薄鐨勪笁澶у熀鏈壒寰

6.闈㈠悜瀵硅薄鐨勪笁澶у熀鏈壒寰?

灏佽

鏈変簺浜哄彲鑳藉Java鏈夊崐骞翠簡锛岃繕鏄悶涓嶆噦灏佽鏄粈涔堜笢瑗裤€傚叾瀹炴垜浠瘡澶╅兘鍦ㄧ敤灏佽銆傞偅涔堝皝瑁呮槸浠€涔堝憿锛熷皝瑁呯畝鍗曟潵璇村氨鏄寘瑁呫€傛瘮濡傝锛氭垜浠妸涓€鍫嗘暟鎹斁鍦ㄤ竴涓被閲岄潰锛屽苟涓斿姞涓奼et鍜宻et鏂规硶锛岃繖涓氨鏄疛avaBean灏佽銆傚啀姣斿锛氭垜浠妸涓€浜涢€氱敤鐨勪唬鐮佹斁鍦ㄤ竴涓柟娉曢噷闈紝浠ュ悗闇€瑕佺殑鏃跺€欑洿鎺ヨ皟鐢ㄦ柟娉曞氨琛屼簡锛岃繖灏辨槸浠g爜灏佽銆?

閭d箞锛屼负浠€涔堣鐢ㄥ皝瑁呭憿锛熷皝瑁呮湁浠€涔堝ソ澶勫憿锛?

姣斿锛氭垜浠渶瑕佷竴涓鐢熺殑淇℃伅锛氬鍚嶏紝骞撮緞銆傚苟涓斿湪鎺у埗鍙版樉绀哄嚭鏉ワ紝鎴戜滑鍙互杩欐牱鍐欙細

public static void main(String[] args){

String name;

int age;

System.out.println("杩欎釜瀛︾敓鐨勫悕瀛楁槸锛?+name+",骞撮緞鏄細"+age);

}

閭d箞鎴戞兂鍐嶅畾涔変竴涓鐢熶俊鎭紝骞朵笖鏄剧ず鍛紵鎴戣繕闇€瑕侀噸澶嶈繖鏍风殑浠g爜锛氶噸鏂板畾涔変袱涓彉閲忓苟璧嬪€笺€傞偅涔堝啀鎯虫兂锛屾垜闇€瑕佸崄涓鐢熺殑淇℃伅骞朵笖鏄剧ず鍛紵杩樻湁锛屽疄闄呮儏鍐典腑锛屼竴涓鐢熺殑淇℃伅涓嶅彲鑳藉氨杩欎箞鍑犱釜鍙橀噺锛屽彲鑳芥湁鍗佸嚑涓憿锛熼毦閬撴垜姣忔闇€瑕佹樉绀哄鐢熶俊鎭紝閮借瀹氫箟杩欎箞澶氬彉閲忓悧锛熸兂鎯冲惂锛岃繖鐪熸槸澶彲鎬曚簡銆?

灞炴€х殑灏佽

浣嗘槸锛岀幇鍦ㄦ垜浠彲浠ョ敤灏佽鏉ュ疄鐜帮紝鎬庝箞瀹炵幇鍛紵鎴戜滑鍙互鎶婃墍鏈夌殑灞炴€ф斁鍦ㄤ竴涓被涓紝杩欐牱锛屾垜闇€瑕佹樉绀哄鐢熶俊鎭椂锛屽彧闇€瑕佸疄渚嬪寲涓€涓被灏辫浜嗐€傛瘮濡傦細

public class Student{

String name;

int age;

}

鎴戜滑闇€瑕佷竴涓鐢熶俊鎭椂鍙互杩欐牱鍐欙細

Student student=new Student();

student.name="zhangsan";

student.age=12;

System.out.println("name:"+name+",age="+age);

鏈変汉鍙兘浼氳锛氭垜鎬庝箞鎰熻闄や簡浠g爜閲忓彉澶т箣鍚庢病鏈変粈涔堝ソ澶勫晩锛熸槸鐨勶紝鍗曞崟鐪嬭繖娈典唬鐮侊紝纭疄鏄姝わ紝浣嗘槸鍋囧鎴戜滑闇€瑕佹樉绀轰竴涓彮绾?6涓鐢熺殑淇℃伅锛岃€岃繖涓彮绾х殑鎵€鏈夊鐢熶俊鎭殑骞撮緞閮芥槸鐩稿悓鐨勶紝閭d箞鎴戜滑鍙互杩欐牱瀹氫箟Student锛?

public class Student{

String name;

int age=12;

}

閭d箞锛屽疄渚嬪寲涓€涓鐢熺殑淇℃伅鏃讹紝鎴戜滑鍙渶瑕佸畾涔夊鐢熷鍚嶅氨鍙互浜嗭紝骞撮緞灏遍粯璁よ祴鍊间簡锛屽ぇ瀹剁幇鍦ㄥ彲浠ュ啀娆″姣斾竴涓皝瑁呭拰涓嶅皝瑁呯殑浠g爜閲忥紝浣犲氨鍙互鐭ラ亾鍝鏇村ソ浜嗐€?

姣棤鐤戦棶锛屼粠闀胯繙瑙掑害鐪嬩互鍙婁粠鏇村ソ鐨勯€傜敤鎬ф潵鐪嬶紝閫氳繃灏嗘暟鎹皝瑁呮垚瀵硅薄锛屾槸寰堟湁蹇呰鐨勩€?

鑰屼笖锛屽亣濡備綘闇€瑕佹樉绀哄鐢熺殑淇℃伅锛岃鏄剧ず瀛︾敓骞撮緞鑰屽彧鐭ラ亾瀛︾敓鐢熸棩鏃讹紝浣犻渶瑕佽繖鏍峰啓锛?

String birthday="2002-01-03";

//鎴彇鐢熸棩鐨勫墠鍥涗綅锛岃幏鍙栧嚭鐢熺殑骞翠唤

....

//寰楀埌褰撳墠鐨勭郴缁熸椂闂达紝浠庤€岀煡閬撶幇鍦ㄦ槸鍝竴骞?

....

//閫氳繃鍑忔硶寰楀埌骞撮緞

....

//鏈€鍚庡畾涔夊勾榫勫彉閲忓苟灏嗚绠楃粨鏋滆祴鍊?

....

濂界殑锛屼唬鐮佸氨涓嶅啓浜嗭紝鎳備粈涔堟剰鎬濆氨琛屼簡銆傞偅涔堬紝澶у鐪嬭繖娈典吉浠g爜锛屾垜绗竴琛屽畾涔変簡鐢熸棩鍙橀噺锛岀浜旇瀹氫箟浜嗗勾榫勫彉閲忥紝閭d箞璇烽棶锛屽亣濡傝繖涓▼搴忔湁100琛岋紝浣犺寰楀彲鑳芥槸涓嶆槸鍦ㄧ80琛岃繕鍙兘鍙堝嚭鐜颁竴涓彉閲忥紵閭d箞锛屽亣濡備綘杩囦簡寰堜箙鍙堢湅杩欎釜绋嬪簭鎴栬€呭埆浜虹湅杩欎釜绋嬪簭锛屼粬鑳戒竴鐪肩湅鍑轰綘鎬诲叡瀹氫箟浜嗗灏戣窡瀛︾敓鏈夊叧鐨勫彉閲忓悧锛熸鏃犵枒闂紝寰堜笉鏂逛究鐨勶紝浣嗘槸锛屼綘鍋囧閫氳繃灏佽涔嬪悗鍛紵浣犻渶瑕佺湅涓€涓婼tudent绫讳腑鏈夊灏戝睘鎬э紝灏遍┈涓婄煡閬撲簡涓€涓鐢熸湁澶氬皯鍙橀噺浜嗐€?

鐜板湪锛屽啀鐪嬪鐢烻tudent杩欎釜绫伙紝鍋囧鎴戝湪main鏂规硶涓粰涓€涓鐢熺殑age灞炴€ц祴鍊?1锛屼綘璇寸▼搴忎細涓嶄細鍑洪敊锛熷綋鐒朵笉浼氾紝浣犲張娌℃湁瑙勫畾骞撮緞涓嶈兘涓鸿礋鏁般€傞偅涔堟€庝箞鍔炲憿锛熶袱姝ワ細

涓€锛氬皢灞炴€х鏈夊寲锛岃繖鏍峰埆浜哄氨涓嶈兘鐩存帴璁块棶鍙橀噺浜嗐€?

浜岋細灏嗚闂彉閲忕殑鏂瑰紡鏀逛负閫氳繃鏂规硶鏉ヨ闂紝鍙互鍦ㄦ柟娉曚腑澧炲姞闄愬埗鏉′欢

缁撴灉濡備笅锛?

class Student{

private String name;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

if(age>0){

this.age = age;

}

}

}

閭d箞璇烽棶澶у锛岃繖鏍锋槸涓嶆槸寰堝ソ鍛紵瑕佹兂鏀瑰勾榫勮祴鍊硷紝蹇呴』璋冪敤setAge()鏂规硶锛岄偅涔堝勾榫勫繀椤诲ぇ浜?銆?

浠g爜鐨勫皝瑁?/strong>

浠g爜鐨勫皝瑁呮垜灏变笉闇€瑕佽浜嗭紝灏辨槸鎶婁竴娈典唬鐮佸皝瑁呮垚涓€涓柟娉曪紝鏂逛究浠ュ悗鐨勮皟鐢ㄣ€?

缁ф壙

缁ф壙灏辨槸瀛愭壙鐖朵笟銆傚氨鏄瓙绫诲彲浠ョ户鎵跨埗绫荤殑鎵€鏈夊睘鎬у拰鏂规硶銆傛湁浠€涔堢敤鍛紵

姣斿鎴戞湁涓€涓狥ather绫伙紝濮撴槸"璧?锛岃繕鏈変竴涓猄on绫伙紝濮撳綋鐒朵篃鏄?璧?浜嗭紝閭d箞鐜板湪鎴戜滑鎸変竴鑸殑鎬濊矾锛屽氨鏄缓涓や釜绫伙紝閮芥湁濮撹繖涓睘鎬э紝鍊奸兘鏄档銆備絾鏄憿锛熻繖鏍锋垜鎰熻寰堜笉鐖藉晩锛屽亣濡傝繖涓や釜绫绘湁鍗佷釜灞炴€ч兘鏄竴鏍风殑锛屾垜杩橀渶瑕佷袱涓被閮借繖鏍峰啓鍚楋紵澶碂绯曚簡銆?

鍥犳Java浜х敓浜嗙户鎵跨殑姒傚康锛?

鎴戜滑鍙互瀹氫箟涓€涓狥ather绫伙紝鑰屽瓙绫籗on缁ф壙Father绫伙紝杩欐牱锛屽杩欎釜灞炴€у氨缁ф壙杩囨潵浜嗭紝涓嶉渶瑕佸啀鍐欎竴娆°€?

public class Father{

String name="璧?;

}

public class Son extends Father{

聽 聽

}

铏界劧Son閲岄潰绌虹┖鐨勶紝浣嗘槸浣犲彲浠ヨ皟鐢⊿on鐨刵ame灞炴€с€傝繖灏辨槸灏佽鐨勮糠浜哄湴鏂广€?

浣犲彲鑳戒細璇达紝鎴戝彲鑳芥兂鏀瑰鍛紝鎬庝箞鍔炲憿锛熷彧闇€瑕佸啀Son涓啀瀹氫箟涓€娆ame灏卞ソ浜嗐€?

public class Son extends Father{

String name="鍒?;

}

缁ф壙鏈€澶х殑浼樼偣灏辨槸鎴戜滑鍙互閲嶇敤涓€涓互鍓嶅啓濂界殑绫伙紝缁х画浣跨敤鍘熸潵绫讳腑鐨勫睘鎬у拰鏂规硶锛屾垜浠敋鑷冲彲浠ヤ慨鏀瑰師鏉ョ被涓煇浜涘睘鎬ф垨鏂规硶锛屼互绗﹀悎褰撳墠绫荤殑闇€瑕併€?

褰撶劧锛岀己鐐瑰氨鏄亣濡傚洜涓烘煇浜涘師鍥狅紝浣犲繕浜嗘煇涓被鏄缁ф壙浜嗭紝鑰屼綘鍙堟敼浜嗚繖涓被鐨勪竴涓睘鎬э紝閭d箞锛屽畠鐨勫瓙绫荤殑杩欎釜灞炴€ч兘灏嗕細鏀瑰彉銆傛瘮濡侳ather绫绘垜name鏀逛负"鏉?锛岃€屼綘鍙堜笉鐭ラ亾杩欎釜绫昏缁ф壙浜嗭紙鍗曠湅Father绫讳綘鐪熶笉鐭ラ亾杩欎釜绫昏缁ф壙浜嗭級锛岄偅涔堜綘鐨勬墍鏈夊瓙绫伙紝姣斿Son绫荤殑name涔熶細鍙樻垚"鏉?銆傞偅涔堬紝杩欎釜鍚庢灉鏄緢涓ラ噸鐨勶紝鍥犱负浣犲彲鑳界敤鍒扮殑Son鐨?/span>name搴旇鏄档锛屼笉鑳芥槸鏉庛€?

澶氭€?

澶氭€佸氨鏄濮垮鎬併€備竴鏈佃姳鍙互鏈夊绉嶅舰鎬侊細鍏拌姳锛岃嵎鑺憋紝姘翠粰鑺辩瓑绛夈€傝繖涓笘鐣屽氨鏄濮垮鎬佺殑锛屾瘮濡傦細閾呯瑪鏈夌櫧閾呯瑪锛岃摑閾呯瑪锛岃姳閾呯瑪銆傞笩鏈夐浮锛岄腑锛岄箙绛夌瓑銆傞偅涔堣繖浜涘璞′箣闂撮兘鏈変竴瀹?鐨勫叡鎬э紝鎴戜滑鍙互杩愮敤鍒氬杩囩殑缁ф壙姒傚康鏉ュ啓鍑犱釜绫诲嚭鏉ャ€?

姣斿锛氬渾褰紝鏂瑰舰锛屼笁瑙掑舰閮芥槸褰㈢姸鐨勫瓙绫汇€?

//Shape鏄舰鐘剁殑鎰忔€?

class Shape{

//褰㈢姸閮芥湁闀垮害

int length;

//褰㈢姸閮芥湁闈㈢Н

int area;

public int getLength() {

return length;

}

public void setLength(int length) {

this.length = length;

}

public int getArea() {

return area;

}

public void setArea(int area) {

this.area = area;

}

}

class Circle extends Shape{

public int getLength() {

System.out.println("鐢ㄥ渾褰㈠叕寮忔眰鍦嗗舰鐨勯暱搴?);

return length;

}

public int getArea() {

System.out.println("鐢ㄥ渾褰㈠叕寮忔眰鍦嗗舰鐨勯潰绉?);

return area;

}

}

class Square extends Shape{

public int getLength() {

System.out.println("鐢ㄦ柟褰㈠叕寮忔眰鏂瑰舰鐨勯暱搴?);

return length;

}

public int getArea() {

System.out.println("鐢ㄦ柟褰㈠叕寮忔眰鏂瑰舰鐨勯潰绉?);

return area;

}

}

鐜板湪鎴戦渶瑕佸疄渚嬪寲涓€涓渾褰㈠拰鏂瑰舰锛屽苟涓旀眰鍑哄畠浠殑闀垮害锛屾€庝箞鍐欏憿锛?

public static void main(String[] args){

Circle circle=new Circle();

Square square=new Square();

circle.getLength();

square.getLength();

}

鏈変汉鍙兘浼氶棶浜嗭紝鎴戜滑鎯宠鐭ラ亾澶氭€佺殑姒傚康锛屽彲浣犺浜嗗崐澶╋紝鎬庝箞閮芥槸缁ф壙鍟婏紒鍒€ワ紝澶氭€佹潵浜嗐€?

鍦ㄨ繖閲岋紝Java鍑虹幇浜嗕竴绉嶆柊鐨勮娉曪細瀛愮被鐨勫疄渚嬪寲瀵硅薄鍙互琚埗绫荤殑寮曠敤琛ㄧず銆備唬鐮佽〃绀哄氨鏄細

Shape shape1=new Circle();

涓轰粈涔堣繖鏍峰啓鍛紵濂介毦鐞嗚В鍟娿€傚懙鍛碉紝杩欐牱鐞嗚В锛氫竴涓渾褰㈡槸涓€涓舰鐘跺鍚э紵閭d箞锛屾垜鍙互鍦ㄧ焊涓婄敾涓€涓?鍦嗗舰"锛屽苟涓旇锛岃繖鏄竴涓?褰㈢姸"銆傚ソ锛屾垜閲嶅涓€閬嶏紝鎴戞寚鐫€涓€涓渾璇磋繖鏄竴涓舰鐘躲€傛病闂鍚э紵鍦嗘槸瀹為檯瀛樺湪鐨勫惂锛熸墍浠ユ垜浠疄渚嬪寲涓€涓嬶細

new Circle();

鎴戣杩欐槸涓€涓舰鐘讹紝杩欎釜褰㈢姸鎴戠粰瀹冭捣鍚嶅瓧鍙玸hape1锛?

Shape shape1;

灏嗕袱杈硅繛璧锋潵灏辨槸锛?

Shape shape1=new Circle();

鐜板湪澶у鐞嗚В浜嗗惂锛?

閭d箞杩欐牱鏈変粈涔堝ソ澶勫憿锛熷ソ澶勫槢锛屽氨鏄細

Shape shape1=new Circle();

shape1.getLength();

杩欐浠g爜浼氬緱鍒板渾鐨勯暱搴︼紝姣曠珶鎴戞寚鐫€鐨勪笢瑗挎槸涓€涓渾銆?

鎴戜篃鍙互鍦ㄨ繖娈典唬鐮佸悗闈㈠姞涓€娈碉細

shape1=new Square();

shape1.getLength();

杩欐浠g爜鍙堜細寰楀埌鏂瑰舰鐨勯暱搴︼紝鏄笉鏄緢鏈夎叮锛?

浣嗘槸瀹冪湡姝g殑濂藉骞朵笉鏄繖鏍风殑锛岃€屾槸:

public staitc void getLenth(Shape shape){

shape.getLength();

}

public static void main(String[] args){

getLength(new Circle());

getLength(new Square());

}

鐪嬭浜嗗悧锛熸垜闇€瑕佷紶杩涘幓涓€涓?/span>Shape瀛愮被鐨勫疄鐜帮紝灏卞彲浠ヨ皟鐢ㄨ繖涓瓙绫荤殑鐩稿簲鐨勬柟娉曪紝鑰屼唬鐮佸垯娌℃湁鍙樺寲锛屼竴鍒囬兘鏄?/span>Java鑷姩甯綘瀹屾垚銆?

鎴戜滑鐢氳嚦鍙互鎶?/span>Circle杩欎釜绫讳互鍙婂畠鐨勫寘璺緞瀛樺湪涓€涓枃浠朵腑锛屾瘮濡?/span>XML鏂囦欢涓紝瀹炰緥鍖栧璞℃椂浠庢枃浠朵腑鍙栧緱Circle鐨勪俊鎭紝閫氳繃鍙嶅皠瀹炰緥鍖栵紝閭d箞杩欐牱灏卞交搴曠殑鑴辩浜嗗叿浣撶殑瀹炵幇锛?

public static void main(String[] args){

//閫氳繃鏂囦欢寰楀埌Circle鐨勫寘璺緞"com.test.Circle"

Stirng circleStr=getPath();

//閫氳繃鍙嶅皠瀹炰緥鍖?

Shape shape1=Class.forName(circleStr).getInstance();

getLength(shape1);

}

閭d箞杩欐湁浠€涔堢敤鍛紵

1.闅愯棌浜嗗叿浣撶殑瀹炵幇浠g爜锛屼綘鐭ラ亾璋冪敤浜?/span>getLength鏂规硶锛屼絾浣犲鏋滀笉鐪嬫枃浠剁殑鍐呭锛屼綘灏变笉鐭ラ亾璋冪敤鐨勬柟娉曞叿浣撳唴瀹规槸浠€涔堬紝鍥犱负绋嬪簭涓牴鏈病鏈変綋鐜般€?

2.鍌荤摐寮忎唬鐮侊紝鎴戝彧闇€瑕佹敼鏀规枃浠朵腑鐨勫唴瀹癸紝灏卞彲浠ョ灛闂存敼鍙樼▼搴忕殑杩愯缁撴灉锛屽嵆浣胯繖涓汉涓€鐐圭▼搴忓熀纭€涔熸病鏈変篃鍙互鍋氬埌銆?

3.涔熷氨鏄垜浠钩鏃跺紑鍙戜腑涓轰粈涔堢粡甯哥敤鍒板鎬佺殑鍘熷洜锛氭垜浠渶瑕佺户缁師鏉ョ殑椤圭洰杩愯鑰屽張鍥犱负瀹㈡埛鐨勯渶瑕佽€屾敼浠g爜鏃讹紝鎴戜滑涓嶉渶瑕佽姹傚鎴峰仠姝㈢幇鍦ㄧ殑椤圭洰锛岃鎴戜滑闇€瑕佹敼鏀癸紝绛夊嚑涓湀浣犲啀杩愯鍚с€?/span>No锛岃繖鏄湪寮€鐜╃瑧锛屾垜浠彲浠ョ户鎵挎寚瀹氱殑鎺ュ彛锛岃€岄噸鍐欏疄鐜扮被锛屽埌鏃跺湪鍑屾櫒3鐐规椂锛屽仠姝㈢郴缁熷嚑鍒嗛挓锛屾敼涓€涓嬮厤缃枃浠讹紝鐬棿椤圭洰灏辨敼鍙樹簡銆?