關聯是對象之間的聯系。java類之間的關聯是壹個類被定義為另壹個類的屬性,即“has-a”的關系。關聯分為結合和聚合。例子如下:
//兩個類之間的聚合public class car { } public class person {
私家車汽車;
}//兩個類之間的組合public class car { } public class person {
私家車car =新車();//創建壹個汽車對象} 12345678910111112
聯想分為單向聯想和雙向聯想。上述代碼為單向關聯(人員類別與汽車類別關聯)和雙向關聯(人員類別與汽車類別關聯,汽車類別與人員類別關聯),如下所示:
公共類汽車{
私人每人;
}公共類人員{
私家車汽車;
}123456
類之間的關聯可以是壹對壹的關聯,也可以是壹對多的關聯。
依靠
依賴的具體表現是將壹個類的對象作為方法參數傳遞給另壹個類的方法,這是壹種use-a關系。比如:
公共類人員{
公共無效駕駛(汽車汽車){
}
}1234
聯想和依賴的區別在於,聯想是壹種has-a關系,依賴是壹種use-a關系;而且關聯中的人和車是關聯的,只要人類對象存在,車對象就存在;在依賴關系中,只有當Person類對象調用dirve()方法時,才會創建Car對象,方法執行後,會恢復Car對象。
繼承
類之間的另壹種關系是繼承。繼承是指類的定義基於另壹個已有的類,即子類基於父類,這樣代碼可以重用,子類可以繼承父類可訪問的方法和屬性,可以擴展新的能力,子類可以重寫父類的方法以滿足子類的需要。在繼承中,子類可以調用父類的構造函數,父類總是先調用父類的構造函數,默認情況下調用父類的無參數構造函數,父類的構造函數可以在子類的構造函數的第壹行使用super關鍵字調用。示例代碼如下:
公共類點{
私人雙x;私雙y;public double getX(){ return x;
} public void setX(double x){ this . x = x;
} public double getY(){ return y;
} public void setY(double y){ this . y = y;
}//無參數構造方法
公共點(){
}//參數化構造方法
public Point(double x,double y){ this . x = x;this.y = y
} //draw()方法
公共void draw(){
}
}公共類圈延伸點{
私雙r;public double getR(){ return r;
} public void setR(double r){ this . r = r;
}//參數化構造方法
公圈(雙x,雙y) { super(x,y);
}公共void draw() {
System.out.println("半徑為:"+this.r+"x坐標:"+getX()+"y坐標:"+getY()+"的圓繪制成功!");
}
}公共類測試{
公共靜態void main(String[] args) {
Circle circle = new Circle(2,3);
circle . setr(3);
circle . draw();
}
}