java物件導向和類,繼承和多型

2021-08-28 00:11:11 字數 1579 閱讀 4111

1.方法

定義方法

(1)public string getname()

setname 沒有方法沒有返回值所以用void

方法名稱首字母小寫,後面的每個字母大寫。

括號內是引數列表

this:方法內部可以使用隱式變數this,this指當前例項,this,field可以訪問當前例項字段。

(2)中不能省略this,因為括號內部有區域性變數名name,如果用name首先指的是區域性變數名,而不是字段。

呼叫方法:  例項變數.方法名(引數)

方法中的引數繫結:你可以傳遞過去使name賦值,但是person中修改name變數,不影響main中的變數n的指向。

使用private定義方法,只能內部呼叫,外部只能掉public方法。

2.構造方法。

構造方法用來初始化例項,沒有構造方法時編譯器會自動呼叫構造方法。

定義多個構造方法,編譯器根據引數自動判斷。

構造方法裡面也可以用構造方法。

public person();預設

3.繼承

public class person

equals: 判斷兩個instance是否邏輯相等  public boolean equals (object o){}

hashcode:計算乙個instance的雜湊值。public int hashcode()

(4)super:super可在子類的覆寫方法中呼叫父類被覆寫(override)方法

public class person

用final修飾的字段在初始化後不能被修改。private final int score;

用final修飾的類無法被繼承。public final class student extends person{}

5.抽象類

(1)抽象方法:class定義了方法但是沒有執行的**,這個方法就是抽象方法。

必須用abstract修飾,抽象方法沒有執行語句,類也是抽象類

pinlic absttract class person

public class robot implements hello,comparable

實現inte***ce使用implements,可以實現多個inte***ce.

抽象類和介面區別

注意:ine***ce不能定義普通的例項方法但是能定義default方法

其子類不一定要實現default的方法,同時可以被子類覆寫。

(2)乙個inte***ce可以繼承自另乙個inte***ce,使用extens

public inte***ce person

public inte***ce students extends person

public class primarystudent implements student

@override

public string getschool()

primarystudent必須實現student的方法也必須實現person的方法。

Python物件導向 繼承和多型

繼承class animal object def run self print animal is running.class dog animal pass class cat animal pass dog run cat run 執行結果 animal is running.an anima...

java物件導向中的封裝 繼承和多型

1.封裝 1.1什麼是封裝?首先先將物件抽象成乙個類,然後將這個物件擁有的屬性和方法隱藏起來 private修飾符修飾 然後只保留特定的方法與外界進行互動。1.2為什麼需要封裝?以為封裝要符合物件導向設計原則的第一條 單一性原則,乙個類把自己該做的事情封裝起來,而不是暴露給其他類去處理,當內部的邏輯...

JAVA 物件導向 類和物件)

基本概念 物件導向是一種新興的程式設計方法,或者是一種新的程式設計規範 paradigm 其基本思想是使用物件 類 繼承 封裝 訊息等基本概念來進行程式設計。例題 1個班有 個小組,每個小組有 學生 要求 1 輸入班級名,能查詢到其下的所有小組名及每個小組的學生資訊,展示如下 你查詢的班級名為 第一...