java中類與類之間的關係講解,類的關聯關係與代碼java

本文目錄一覽:

java 中類與類之間關係,並舉例說明…並說下什麼是面向對象.

1.類是面向對象程序設計的核心,其實是一種複雜的數據類型,封裝了不同類型的數據和與這些數據相關的方法。

2.類是抽象的(相當於現實生活中的模具,圖紙),並不是最終的實體,將抽象化的類具體化後(就是按照模具,圖紙生產出實際東西),就成了對象,通常將對象稱為類的實體。

所以,類是將現實事物抽象化,而對象是將事物具體化。

舉例:張三是一個學生,那麼張三其實是比較具體的一個人,而學生則是一個抽象事物。此時可以創建一個學生類,包含學號,年齡,班級等。如果指明張三這些屬性,則張三是學生類的一個實體。

創建學生類:student

public

class

student{

public

string

studentno;

public

int

age;

public

string

grade;

}

這就是一個類,一個模具。

通過這個模具,可以生產出來很多產品:

student

zhang

=

new

student();

這句代碼,即為創建了一個對象:zhang

希望lz能夠通過這個實例,搞懂對象、類和實體之間的關係。

Java中類與類之間的關係是什麼?

外部類,內部類,匿名類,外部類就是兩個類並列的class

A

{}

class

B

{},內部類:class

A

{

class

B

{}},B可以直接使用包涵它的類的成員變量,內部類不能被除包涵類以外的類調用;還有就是匿名類,也是內部類

classA{new

{}}省略定義類名直接定義方法和使用,這個適用於代碼比較簡單且這個啊類不需要被其他類調用

java中類與類之間的關係講解

1.關聯

關聯即對象與對象之間的連接。java類之間的關聯是一個類的作為另一個的屬性被定義,即“has-a”的關係。關聯又分為組合與聚合兩種。示例如下:

//兩個類之間的聚合public class Car{}public class Person{

private Car car;

}//兩個類之間的組合public class Car{}public class Person{

private Car car=new Car();//創建一個Car對象}123456789101112

關聯又分為單向關聯與雙向關聯,以上代碼為單向關聯(Person類關聯Car類),雙向關聯(Person類關聯Car類,同時Car類關聯Person類)代碼如下:

public class Car{

private Person per;

}public class Person{

private Car car;

}123456

類之間的關聯,可以一對一的關聯,也可以一對多的關聯。

2.依賴

依賴的具體表現是將一個類的對象當做方法參數傳給另一個類的方法,是一種use-a的關係。如:

public class Person{

public void dirve(Car car){

}

}1234

關聯與依賴的區別在於:關聯是has-a的關係,依賴是use-a的關係;而且關聯中Person關聯Car,只要Person類對象存在,Car對象就存在;依賴中只有Person類對象調用到dirve()方法時,Car對象才會被創建,方法執行結束後,Car對象就被收回。

3.繼承

類與類的另一個關係是繼承。繼承是一個類的定義基於另一個存在的類,即子類基於父類,如此可實現代碼的重用,子類能夠繼承父類可訪問的方法、屬性,並能擴展新的能力,而且子類可重寫父類方法以滿足子類需要。在繼承中子類可調用父類的構造方法,子類構造方法總是先調用父類的構造方法,而且默認情況下調用父類的無參構造方法,在子類構造方法的第一行使用super關鍵字即可調用父類構造方法。示例代碼如下:

public class Point {

private double x; private double 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() {

} //有參構造方法

public Point(double x, double y) { this.x = x; this.y = y;

} //draw()方法

public void draw(){

}

}public class Circle extends Point {

private double r; public double getR() { return r;

} public void setR(double r) { this.r = r;

} //有參構造方法

public Circle(double x, double y) { super(x, y);

} public void draw() {

System.out.println(“半徑為:” + this.r + ” x坐標為:” + getX() + ” y坐標為:” + getY() + “的圓繪製成功!”);

}

}public class Test {

public static void main(String[] args) {

Circle circle = new Circle(2, 3);

circle.setR(3);

circle.draw();

}

}

Java類與類之間的關係

java類與類之間的關係,這個概念有點模糊,java編程時面向對象的,一個java實體類就是一個對象,如人,他的屬性是姓名,年齡、職業等。另外有一個實體類叫做動物,他包含人,鳥,魚等這個類中人就是動物的一種。這個他們之間就可以有關係。但是大部分的類其實是沒有必然聯繫的

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304999.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論