锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 1.緇ф壙Thread綾誨畾涔夌嚎紼?/p> 瀹氫箟涓涓嚎紼嬪彲浠ラ氳繃緇ф壙Thread綾繪潵瀹炵幇錛岃繖鏄竴縐嶇浉瀵圭畝鍗曠殑瀹氫箟綰跨▼鐨勬柟娉曘傚湪Thread綾諱腑鏈変竴涓猺un鏂規硶錛屽湪瀹氫箟鐨勭嚎紼嬩腑闇瑕侀噸鍐欒繖涓柟娉曘傚湪閲嶅啓run鏂規硶涓彲浠ュ畾涔夎綰跨▼瑕佹墽琛岀殑璇彞銆傚綋綰跨▼鍚姩鏃訛紝run鏂規硶涓殑紼嬪簭灝辨垚涓轟竴鏉$嫭绔嬬殑鎵ц綰跨▼銆傜ず渚嬩唬鐮佸涓嬶細 public class XianCheng extends Thread { public void run() { System.out.println("run鏂規硶鎵ц"); } } 鏀圭▼搴忔槸鏃犳硶鎵ц鐨勶紝鍥犱負娌℃湁main鏂規硶錛屼篃灝辨槸娌℃湁鍚姩綰跨▼鐨勬柟娉曘備笅闈㈠厛浠嬬粛濡備綍鍒涘緩綰跨▼瀵硅薄銆備唬鐮佸涓? XianCheng xc = new XianCheng(); 浠庝笂闈㈢殑浠g爜鍙互鐪嬪嚭錛屽垱寤虹嚎紼嬪璞$殑鏂規硶鍜屽垱寤烘櫘閫氬璞$殑鏂規硶鏄竴鏍風殑銆備絾鏄繖鍙槸瀵逛簬浣跨敤緇ф壙Thread綾誨垱寤虹嚎紼嬬殑鏂規硶鏉ヨ鐨勩傛垜浠篃鍙互閫氳繃Thread綾繪潵瀹氫箟綰跨▼瀵硅薄錛屽 Thread th = new Thread錛堬級錛?/p> 2.瀹炵幇Runnable鎺ュ彛瀹氫箟綰跨▼ 鍦≧unnable鎺ュ彛涓叿鏈変竴涓娊璞$殑run鏂規硶錛屽湪瀹炵幇Runnable鎺ュ彛鏃訛紝闇瑕佸疄鐜皉un鏂規硶銆傜ず渚嬩唬鐮佸涓嬶細 public class test2 implements Runnable{ public void run錛堬級{ System.out.println("run鏂規硶鎵ц"); } } 鍦ㄤ嬌鐢ㄥ疄鐜癛unnable鎺ュ彛瀹氫箟鐨勭嚎紼嬩腑錛岃姣斾笂闈㈠鏉備簺錛屽洜涓虹洿鎺ュ垱寤虹被鐨勫璞″垱寤虹殑騫朵笉鏄竴涓嚎紼嬪璞★紝瑕佹兂鍒涘緩綰跨▼瀵硅薄蹇呴』瑕佸熷姪Thread綾匯傚彧鏈塗hread綾繪墠鑳藉畾涔夌嚎紼嬪璞°?/p> 浠g爜濡備笅錛歵est2 t2 = new test2錛堬級錛?/p> Thread tt2 = new Thread錛坱2錛夛紱 tt2鎵嶆槸綰跨▼瀵硅薄錛孴hread綾誨叿鏈?涓瀯閫犲櫒錛屾渶甯哥敤鐨勫氨鏄叿鏈変竴涓弬鏁扮殑錛屾垜浠彲浠ュ厛鍒涘緩涓涓疄鐜癛unnable鎺ュ彛鐨勭被瀵硅薄錛岀劧鍚庝綔涓篢hread綾葷殑鍙傛暟鏉ュ垱寤哄涓嚎紼嬪璞°?/p> 褰撴垜浠緩绔嬩簡涓涓嚎紼嬬被鐨勬椂鍊欙紝灝辮鍚姩綰跨▼錛屽垵瀛﹁呬細璁や負鍚姩綰跨▼灝辨槸璋冪敤綰跨▼綾諱腑鐨勬柟娉曘備絾榪欑偣鏄敊璇殑錛岃櫧鐒跺彲浠ョ敤瀵硅薄鍚?run錛堬級鏉ヨ皟鐢╮un鏂規硶錛屼絾榪欏茍涓嶆槸綰跨▼鐨勫惎鍔ㄣ傝鎯沖惎鍔ㄧ嚎紼嬭繕瑕佽皟鐢ㄧ嚎紼嬬殑star鏂規硶錛屽錛歵t2.start錛堬級錛涗絾瑕佹敞鎰忥紝涓涓嚎紼嬪彧鑳借皟鐢ㄤ竴嬈tar鏂規硶錛岀浜屾鍚姩綰跨▼浼氬彂鐢烮llegalThreadException寮傚父銆傛湁鍏崇嚎紼嬬殑鍚姩錛屽簲鐢ㄩ棶棰樹互鍚庡啀鍋氫粙緇嶃?/p> 濂戒簡錛屾湁鍏崇嚎紼嬬殑鍩虹鐭ヨ瘑鍏堜粙緇嶅埌榪欓噷銆傛湁涓嶈凍鐨勫湴鏂硅澶у鎵硅瘎鎸囨銆?/p>
涓銆佹湁鍏硈uper璺焧his鐨勫尯鍒?/p>
鍖哄埆 | Super | This |
鑼冨洿 | 鐢卞瓙綾昏闂埗綾葷殑鍐呭 | 鐩存帴璁塊棶鏈被涓殑鍐呭 |
璁塊棶灞炴?/p> | super.鐖剁被灞炴э紝濡傛灉灞炴ф病鏈夎瑕嗗啓錛屽垯涔熷彲浠ヤ笉鍐檚uper銆?/p> | This.鏈被灞炴с?/p> |
璁塊棶鏂規硶 | super.鐖剁被鏂規硶(),濡傛灉鏂規硶娌℃湁琚鍐欙紝鍒欏彲浠ヤ笉鐢ㄥ姞super涔熻〃紺鴻皟鐢ㄧ埗綾諱腑鐨勬柟娉曘?/p> | this.鏈被鏂規硶(),鍙互涓嶅啓this,涔熻〃紺鴻皟鐢ㄦ湰綾葷殑鏂規硶銆?/p> |
璁塊棶鏋勯犳柟娉?/p> | super鏄闂埗綾諱腑鐨勬瀯閫犳柟娉曪紝蹇呴』鏀懼湪棣栬銆?/p> | this 鏄闂湰綾諱腑鐨勫叾浠栨瀯閫犳柟娉曪紝蹇呴』鏀懼湪棣栬銆?/p> |
浜屻侀噸杞藉拰閲嶅啓鐨勫尯鍒?/p>
鍖哄埆 | 閲嶈澆 | 閲嶅啓/瑕嗗啓 |
鍗曡瘝 | Overloading | Override |
姒傚康 | 鏂規硶鍚嶇О鐩稿悓錛屽弬鏁板垪琛ㄤ笉鍚屻?/p> | 鏂規硶鍚嶇О鐩稿悓錛屽弬鏁板垪琛ㄧ浉鍚岋紝鏂規硶鐨勮闂潈闄愪笉鑳芥洿涓ユ牸銆?/p> |
鑼冨洿 | 鍙戠敓鍦ㄤ竴涓被涓?/p> | 鍙戠敓鍦ㄧ戶鎵垮叧緋諱腑錛岀敱瀛愮被榪涜瑕嗗啓銆?/p> |
涓夈乂ector鍜孉rrayList
1.vector鏄嚎紼嬪悓姝ョ殑錛屾墍浠ュ畠涔熸槸綰跨▼瀹夊叏鐨勶紝鑰宎rraylist鏄嚎紼嬪紓姝ョ殑錛屾槸涓嶅畨鍏ㄧ殑銆傚鏋滀笉鑰冭檻鍒扮嚎紼嬬殑瀹夊叏鍥犵礌錛屼竴鑸敤
arraylist鏁堢巼姣旇緝楂樸?br> 2.濡傛灉闆嗗悎涓殑鍏冪礌鐨勬暟鐩ぇ浜庣洰鍓嶉泦鍚堟暟緇勭殑闀垮害鏃訛紝vector澧為暱鐜囦負鐩墠鏁扮粍闀垮害鐨?00%,鑰宎rraylist澧為暱鐜囦負鐩墠鏁扮粍闀垮害
鐨?0%.濡傝繃鍦ㄩ泦鍚堜腑浣跨敤鏁版嵁閲忔瘮杈冨ぇ鐨勬暟鎹紝鐢╲ector鏈変竴瀹氱殑浼樺娍銆?br> ArrayList 鍜孷ector鏄噰鐢ㄦ暟緇勬柟寮忓瓨鍌ㄦ暟鎹紝姝ゆ暟緇勫厓绱犳暟澶т簬瀹為檯瀛樺偍鐨勬暟鎹互渚垮鍔犲拰鎻掑叆鍏冪礌錛岄兘鍏佽鐩存帴搴忓彿绱㈠紩鍏冪礌錛?br> 浣嗘槸鎻掑叆鏁版嵁瑕佽璁″埌鏁扮粍鍏冪礌縐誨姩絳夊唴瀛樻搷浣滐紝鎵浠ョ儲寮曟暟鎹揩鎻掑叆鏁版嵁鎱紝Vector鐢變簬浣跨敤浜唖ynchronized鏂規硶錛堢嚎紼嬪畨鍏級鎵浠ユц兘涓婃瘮ArrayList瑕佸樊錛?br> LinkedList浣跨敤鍙屽悜閾捐〃瀹炵幇瀛樺偍錛屾寜搴忓彿绱㈠紩鏁版嵁闇瑕佽繘琛屽悜鍓嶆垨鍚戝悗閬嶅巻錛屼絾鏄彃鍏ユ暟鎹椂鍙渶瑕佽褰曟湰欏圭殑鍓嶅悗欏瑰嵆鍙紝鎵浠ユ彃鍏ユ暟搴﹁緝蹇紒
鍥涖乤rraylist鍜宭inkedlist
1.ArrayList鏄疄鐜頒簡鍩轟簬鍔ㄦ佹暟緇勭殑鏁版嵁緇撴瀯錛孡inkedList鍩轟簬閾捐〃鐨勬暟鎹粨鏋勩?br> 2.瀵逛簬闅忔満璁塊棶get鍜宻et錛孉rrayList瑙夊浼樹簬LinkedList錛屽洜涓篖inkedList瑕佺Щ鍔ㄦ寚閽堛?br> 3.瀵逛簬鏂板鍜屽垹闄ゆ搷浣渁dd鍜宺emove錛孡inedList姣旇緝鍗犱紭鍔匡紝鍥犱負ArrayList瑕佺Щ鍔ㄦ暟鎹?br> 榪欎竴鐐硅鐪嬪疄闄呮儏鍐電殑銆傝嫢鍙鍗曟潯鏁版嵁鎻掑叆鎴栧垹闄わ紝ArrayList鐨勯熷害鍙嶈屼紭浜嶭inkedList銆?br> 浣嗚嫢鏄壒閲忛殢鏈虹殑鎻掑叆鍒犻櫎鏁版嵁錛孡inkedList鐨勯熷害澶уぇ浼樹簬ArrayList. 鍥犱負ArrayList姣忔彃鍏ヤ竴鏉℃暟鎹紝瑕佺Щ鍔ㄦ彃鍏ョ偣鍙婁箣鍚庣殑鎵鏈夋暟鎹?
浜斻丠ashMap涓嶵reeMap
1銆丠ashMap閫氳繃hashcode瀵瑰叾鍐呭榪涜蹇熸煡鎵撅紝鑰孴reeMap涓墍鏈夌殑鍏冪礌閮戒繚鎸佺潃鏌愮鍥哄畾鐨勯『搴忥紝濡傛灉浣犻渶瑕佸緱鍒頒竴涓湁搴忕殑緇撴灉浣犲氨搴旇浣跨敤TreeMap錛圚ashMap涓厓绱犵殑鎺掑垪欏哄簭鏄笉鍥哄畾鐨勶級銆?
HashMap涓厓绱犵殑鎺掑垪欏哄簭鏄笉鍥哄畾鐨勶級銆?
2銆丠ashMap閫氳繃hashcode瀵瑰叾鍐呭榪涜蹇熸煡鎵撅紝鑰孴reeMap涓墍鏈夌殑鍏冪礌閮戒繚鎸佺潃鏌愮鍥哄畾鐨勯『搴忥紝濡傛灉浣犻渶瑕佸緱鍒頒竴涓湁搴忕殑緇撴灉浣犲氨搴旇浣跨敤TreeMap錛圚ashMap涓厓绱犵殑鎺掑垪欏哄簭鏄笉鍥哄畾鐨勶級銆傞泦鍚堟鏋垛濇彁渚涗袱縐嶅父瑙勭殑Map瀹炵幇錛欻ashMap鍜孴reeMap (TreeMap瀹炵幇SortedMap鎺ュ彛)銆?
3銆佸湪Map 涓彃鍏ャ佸垹闄ゅ拰瀹氫綅鍏冪礌錛孒ashMap 鏄渶濂界殑閫夋嫨銆備絾濡傛灉鎮ㄨ鎸夎嚜鐒墮『搴忔垨鑷畾涔夐『搴忛亶鍘嗛敭錛岄偅涔圱reeMap浼氭洿濂姐備嬌鐢℉ashMap瑕佹眰娣誨姞鐨勯敭綾繪槑紜畾涔変簡hashCode()鍜?equals()鐨勫疄鐜般傘銆榪欎釜TreeMap娌℃湁璋冧紭閫夐」錛屽洜涓鴻鏍戞誨浜庡鉤琛$姸鎬併?
鍏乭ashtable涓巋ashmap
1.鍘嗗彶鍘熷洜:Hashtable鏄熀浜庨檲鏃х殑Dictionary綾葷殑錛孒ashMap鏄疛ava 1.2寮曡繘鐨凪ap鎺ュ彛鐨勪竴涓疄鐜?
2.鍚屾鎬?Hashtable鏄嚎紼嬪畨鍏ㄧ殑錛屼篃灝辨槸璇存槸鍚屾鐨勶紝鑰孒ashMap鏄嚎紼嬪簭涓嶅畨鍏ㄧ殑錛屼笉鏄悓姝ョ殑
3.鍊鹼細鍙湁HashMap鍙互璁╀綘灝嗙┖鍊間綔涓轟竴涓〃鐨勬潯鐩殑key鎴杤alue
涓冦丼et涓殑鏁版嵁瀵硅薄娌℃湁欏哄簭涓斾笉鍙互閲嶅銆?br> List涓殑鏁版嵁瀵硅薄鏈夐『搴忎笖鍙互閲嶅銆?
鍦ㄨ繖涓▼搴忎腑錛岄鍏堝畾涔変竴涓鏍$被錛屽啀瀹氫箟涓涓彮綰х被錛屾渶鍚庡畾涔変竴涓鐢熺被銆傚湪涓葷▼搴忎腑閫氳繃璁劇疆涓嶅悓綾誨瀷瀵硅薄闂寸殑鍏崇郴錛岃揪鍒扮被涓庣被涔嬮棿鍖呭惈鐨勫叧緋匯?/p>
浠g爜濡備笅錛?/p>
//瀛︽牎綾?/p>
package com.TinySK;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class School{
private String name;
//涓涓鏍℃湁澶氫釜鐝駭 錛岄氳繃闆嗗悎綾籐ist 瀹炵幇銆?
private List<Cls> allClss;
public School(String name){
this.setName(name);
this.setAllClss(new ArrayList<Cls>());
}
//鍚戝鏍′腑鍔犲叆鐝駭
public void add(Cls cls){
this.allClss.add(cls);
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAllClss(List<Cls> allClss){
this.allClss = allClss;
}
public List<Cls> getAllClss(){
return this.allClss;
}
}
//鐝駭綾?/p>
class Cls{
private String name;
private School school; //姝ゅ瀹氫箟浜嗕竴涓鏍$被鐨勫璞°?nbsp;
private List<Student> allStudents;//涓涓彮綰ф湁澶氫釜瀛︾敓 錛岄氳繃闆嗗悎綾籐ist 瀹炵幇銆?/p>
public Cls(String name){
this.setName(name);
this.setAllStudents(new ArrayList<Student>());
}
//鍚戠彮綰т腑鍔犲叆瀛︾敓
public void add(Student stu){
this.allStudents.add(stu);
}
public List<Student> getAllStudents(){
return this.allStudents;
}
public void setAllStudents(List<Student> allStudents){
this.allStudents = allStudents;
}
public void setSchool(School school){
this.school = school;
}
public School getSchool(){
return this.school;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
//瀛︾敓綾?/p>
class Student{
private String name;
private int age;
//涓涓鐢熷睘浜庝竴涓彮綰?nbsp;
private Cls cls;
public Student(String name,int age){
this.setName(name);
this.setAge(age);
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void setCls(Cls cls){
this.cls = cls;
}
public Cls getCls(){
return this.cls;
}
}
//涓誨嚱鏁?
public class Test{
public static void main(String[] args){
School sch = new School("Java blog");
Cls c1 = new Cls("Java涓鐝?);
Cls c2 = new Cls("Java浜岀彮");
Cls c3 = new Cls("Java涓夌彮");
Student stu1 = new Student("Tiny",20);
Student stu2 = new Student("SK",25);
Student stu3 = new Student("sevn",23);
Student stu4 = new Student("puck",28);
Student stu5 = new Student("lion",35);
//璁劇疆鍏崇郴
sch.add(c1);
c1.setSchool(sch);
sch.add(c2);
c2.setSchool(sch);
sch.add(c3);
c3.setSchool(sch);
c1.add(stu1);
stu1.setCls(c1);
c2.add(stu2);
stu2.setCls(c2);
c2.add(stu3);
stu3.setCls(c2);
c3.add(stu4);
stu4.setCls(c3);
c3.add(stu5);
stu5.setCls(c3);
//濡傛灉瑕佽緭鍑哄叏閮ㄧ殑鍐呭錛屽垯瑕佽繘琛屽弻閲嶅驚鐜?nbsp;
System.out.println("瀛︽牎鍚嶇О錛?+sch.getName());
Iterator<Cls> iter1 = sch.getAllClss().iterator();
while(iter1.hasNext()){
Cls c = iter1.next();
System.out.println("\t|- 鐝駭鍚嶇О錛?+c.getName());
//杈撳嚭涓涓彮綰т腑鐨勫叏閮ㄥ鐢?nbsp;
Iterator<Student> iter2 = c.getAllStudents().iterator();
while(iter2.hasNext()){
Student s = iter2.next();
System.out.println("\t\t|- 瀛︾敓濮撳悕錛?+s.getName()+"錛屽鐢熷勾榫勶細"+s.getAge()+" --> "+s.getCls().getSchool().getName());
}
}
}
}
榪愯緇撴灉濡傚浘錛?a href="http://www.tkk7.com/images/blogjava_net/TinySK/WindowsLiveWriter/f842ac4a449b_9B6C/_OM38%5B@O$QC@2%7BVTXN%60E9A1_2.jpg">
鏈緥騫舵病鏈変粈涔堝お澶氱殑闅劇偣錛屽彧鏄兂紿佸嚭涓涓嬬被涓庣被涔嬮棿鐨勫叧緋匯傛湰鏂囧埌姝ょ粨鏉燂紝鏈夊緢澶氫笉瓚充箣澶勬湜澶у鎵硅瘎鎸囨銆?/p>
public class Obj {
public static void main(String [] args)
{
Obj t1=new Obj();
Obj t2=new Obj();
if(t1.equals(t2))
{System.out.println("true");
}
else
{
System.out.println("false");
}
}
}
榪愯緇撴灉涓猴細 false
equals鏂規硶鍦ㄨ繖閲屾瘮杈冪殑鏄璞$殑寮曠敤錛岀敤new鍏抽敭瀛楀垱寤虹殑瀵硅薄鍦板潃鏄噸鏂板垎閰嶇殑錛屽畠浠繘琛屾瘮杈冨湴鍧褰撶劧鏄笉鍚岀殑銆?
涓嬮潰瀵逛笂闈㈢殑紼嬪簭榪涜鎵╁睍錛?
public class Obj {
public String name;
public int age;
public void say(){
System.out.println("濮撳悕錛?+name+" 騫撮緞錛?+age);
}
public static void main(String [] args)
{
Obj t1=new Obj();
Obj t2=new Obj();
Obj t3=new Obj();
t3=t1;
if(t1.equals(t2))
{System.out.println("true");
}
else
{
System.out.println("false");
}
t1.name="Tiny";
t1.age=20;
t1.say();
t2.name="SK";
t2.age=10;
t1.say();
t2.say();
t1=t2;
if(t1.equals(t3))
{System.out.println("true");
}
else
{
System.out.println("false");
}
t1.say();
t2.say();
t3.say();
if(t3.equals(t2))
{System.out.println("true");
}
else
{
System.out.println("false");
}
}
}
榪愯緇撴灉濡傚浘錛?a href="http://www.tkk7.com/images/blogjava_net/TinySK/WindowsLiveWriter/1bdef11c5df1_C4C4/%7DU%5D9%60G%60)M%7D7N%7B)IFQ%7B%7DXL00_2.jpg">
鏈夊叧紼嬪簭鐨勫叿浣撴墽琛岋紝閫氳繃鍥句緥婕旂ず錛屽涓嬶細
Obj t1=new Obj();
Obj t2=new Obj();
Obj t3=new Obj();
鍒涘緩Obj綾葷殑瀹炰緥錛屽湪鍐呭瓨涓紑杈熷瓨鍌ㄧ┖闂淬?a href="http://www.tkk7.com/images/blogjava_net/TinySK/WindowsLiveWriter/1bdef11c5df1_C4C4/clip_image001_2.gif">
褰撴墽琛宼3=t1;鏃訛紝鍐呭瓨涓瓨鍌ㄥ艦寮忓彉涓猴細
鍘熸潵t3鎵鎸囧悜鐨勯偅鍧楀爢鍐呭瓨灝嗗彉涓衡滃瀮鍦鋸濄傜敱java鍨冨溇鍥炴敹鏈哄埗鑷姩鍥炴敹銆?/p>
if(t1.equals(t2))
{路路路路 }
else
{路路路路 }杈撳嚭緇撴灉褰撶劧涓?false浜嗐?/p> t1.name="Tiny";
t1.age=20;
t1.say();
t2.name="SK";
t2.age=10;
t1.say();
t2.say();
鑷充簬t1.say();鍜宼2.say();榪欎袱鏉¤鍙ョ殑緇撴灉鎴戝氨涓嶇敤澶氳浜嗗惂錛屼笅闈㈡槸鍏抽敭閮ㄥ垎錛屽綋鎵цt1=t2;鍚庡唴瀛樹腑瀛樺偍緇撴灉涓猴細
鏈鍚庢墽琛岀殑閭e嚑姝ュ簲璇ュ氨寰堟竻鏅頒簡錛屾暣涓▼搴忕殑嫻佺▼鍒版緇撴潫銆?nbsp; | |
|
|