锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
濡傛灉java綾婚噷鐨勬垚鍛樺彉閲忔槸鑷韓鐨勫璞★紝鍒欐柊寤鴻綾誨璞℃椂鍐呭瓨涓庝箞鍒嗛厤絀洪棿錛屾垜鎰熻濂藉儚姝誨驚鐜簡銆?
涓嶈繃鎴戞兂鐨勮偗瀹氭槸閿欑殑錛屽洜涓哄緢澶氱被鐨勬垚鍛樺彉閲忔槸鑷韓瀵硅薄錛屼婦涓緥瀛愶細
Class A{
private String b ="Hello";
private A a = new A();
}
Class B{
public static void main(){
A p = new A();
}
}
鍦ㄧ▼搴忔墽琛屼腑錛岃new涓涓狝綾誨瀷鐨勫璞錛岃繖鏃朵負瀵硅薄p寮杈熷唴瀛樼┖闂達紝鍏朵腑涓閮ㄥ垎瀛樻斁瀛楃涓瞓 Hello錛屽彟涓閮ㄥ垎瀛樻斁瀵硅薄a錛屽彲鏄垜鎰熻a鏄竴涓璞★紝搴旇鍐嶅紑杈熶竴鍧楃┖闂村瓨鏀綼榪欎釜瀵硅薄錛屽彲鏄簲璇ュ湪閲岄潰鏀句粈涔堝憿錛熶竴涓槸hello錛屽彟涓涓張鏄疉綾葷殑瀵硅薄錛?br />
鎼滃埌鐨勭瓟妗堬細
浣犵殑紼嬪簭榪愯鐨勬椂鍊欎細浜х敓涓涓爤婧㈠嚭閿欒鐨勫紓甯?
Exception in thread "main" java.lang.StackOverflowError
浣犵殑鎬濊礬鏄鐨勶紝浣嗘槸錛屽湪main鏂規(guī)硶涓垱涓涓狝瀵硅薄錛岃孉瀵硅薄鍦ㄥ垵濮嬪寲鑷繁鎴愬憳鐨勬椂鍊欙紝鍙堜細鍒涘彟涓涓狝瀵硅薄錛屼粠鑰岄犳垚姝誨驚鐜紝鏈緇堝鑷沖唴瀛樻孩鍑恒?
浣犵殑A綾誨涓嬶細
Class A{
private String b ="Hello";
private A a = new A();
}
閫氬父紼嬪簭涓嶄細鍍忎綘榪欐牱鍐欙紝鑰屾槸
Class A{
private String b ="Hello";
private A a; //= new A();
public anymothod(...){
//鍦ㄦ煇鏉′歡婊¤凍鏃?
a=new A();
}
}
涔熷氨鏄綾繪槸鑷韓鎴愬憳鐨勬椂鍊欙紝閫氬父涓嶈兘鍒濆鍖栵紝鑰屼粎浠呮槸涓涓畾涔夛紝鍦ㄦ弧瓚蟲煇浜涙潯浠剁殑鏃跺欙紝鎵嶅幓鍒濆鍖栵紝鍚﹀垯蹇呯劧瀵艱嚦鍐呭瓨婧㈠嚭銆?
2銆乼his錛堝弬鏁幫級錛氳皟鐢ㄦ湰綾諱腑鍙︿竴縐嶅艦鎴愮殑鏋勯犲嚱鏁幫紙搴旇涓烘瀯閫犲嚱鏁頒腑鐨勭涓鏉¤鍙ワ級
3銆乻uper:銆瀹冨紩鐢ㄥ綋鍓嶅璞$殑鐩存帴鐖剁被涓殑鎴愬憳錛堢敤鏉ヨ闂洿鎺ョ埗綾諱腑琚殣钘忕殑鐖剁被涓垚鍛樻暟鎹垨鍑芥暟錛屽熀綾諱笌媧劇敓綾諱腑鏈夌浉鍚屾垚鍛樺畾涔夋椂錛?
濡傦細super.鍙橀噺鍚?nbsp; super.鎴愬憳鍑芥暟鎹悕錛堝疄鍙傦級
4銆乼his錛氬畠浠h〃褰撳墠瀵硅薄鍚嶏紙鍦ㄧ▼搴忎腑鏄撲駭鐢熶簩涔夋т箣澶勶紝搴斾嬌鐢╰his鏉ユ寚鏄庡綋鍓嶅璞★紱濡傛灉鍑芥暟鐨勫艦鍙備笌綾諱腑鐨勬垚鍛樻暟鎹悓鍚嶏紝榪欐椂闇鐢╰his鏉ユ寚鏄庢垚鍛樺彉閲忓悕錛?
浜屻佸簲鐢ㄥ疄渚?
class Point
{ private int x,y;
public Point(int x,int y)
{
this.x=x; //this瀹冧唬琛ㄥ綋鍓嶅璞″悕
this.y=y;
}
public void Draw()
{
}
public Point()
{
this(0,0); //this錛堝弬鏁幫級璋冪敤鏈被涓彟涓縐嶅艦鎴愮殑鏋勯犲嚱鏁?
}
}
class Circle extends Point
{
private int radius;
public circle(int x0,int y0, int r )
{
super(x0,y0); //super錛堝弬鏁幫級璋冪敤鍩虹被涓殑鏌愪竴涓瀯閫犲嚱鏁?
radius=r;
}
public void Draw()
{
super.Draw(); //super瀹冨紩鐢ㄥ綋鍓嶅璞$殑鐩存帴鐖剁被涓殑鎴愬憳
drawCircle();
}}
銆銆