抽象類的概述和講解

2021-07-10 02:26:54 字數 2084 閱讀 7952

/*

抽象類的概述:

動物不應該定義為具體的東西,而且動物中的吃,睡等也不應該是具體的。

我們把乙個不是具體的功能稱為抽象的功能,而乙個類中如果有抽象的功能,該類必須是抽象類。

抽象類的特點:

a:抽象類和抽象方法必須用abstract關鍵字修飾

b:抽象類中不一定有抽象方法,但是有抽象方法的類必須定義為抽象類

c:抽象類不能例項化

因為它不是具體的。

抽象類有構造方法,但是不能例項化?構造方法的作用是什麼呢?

用於子類訪問父類資料的初始化

d:抽象的子類

a:如果不想重寫抽象方法,該子類是乙個抽象類。

b:重寫所有的抽象方法,這個時候子類是乙個具體的類。

抽象類的例項化其實是靠具體的子類實現的。是多型的方式。

animal a = new cat();

*///abstract class animal //抽象類的宣告格式

abstract class animal //空方法體,這個會報錯。抽象方法不能有主體

public abstract void eat();

public animal(){}

}//子類是抽象類

abstract class dog extends animal {}

//子類是具體類,重寫抽象方法

class cat extends animal

}class abstractdemo

}

/*

抽象類的成員特點:

成員變數:既可以是變數,也可以是常量。

構造方法:有。

用於子類訪問父類資料的初始化。

成員方法:既可以是抽象的,也可以是非抽象的。

抽象類的成員方法特性:

a:抽象方法 強制要求子類做的事情。

b:非抽象方法 子類繼承的事情,提高**復用性。

*/abstract class animal

public animal(string name,int age){}

public abstract void show();

public void method()

}class dog extends animal

}class abstractdemo2

}

/*

乙個類如果沒有抽象方法,可不可以定義為抽象類?如果可以,有什麼意義?

a:可以。

b:不讓建立物件。

abstract不能和哪些關鍵字共存?

private 衝突

final 衝突

static 無意義

*/abstract class fu

}class zi extends fu

}class abstractdemo3

}

//定義抽象的動物類

abstract class animal

public animal(string name,int age)

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

//定義乙個抽象方法

public abstract void eat();

}//定義具體的狗類

class dog extends animal

public dog(string name,int age)

public void eat()

}//定義具體的貓類

class cat extends animal

public cat(string name,int age)

public void eat()

}//測試類

class abstracttest

}

抽象類的概念和講解

抽象類的概述 動物不應該定義為具體的東西,而且動物中的吃,睡等也不應該是具體的。我們把乙個不是具體的功能稱為抽象的功能,而乙個類中如果有抽象的功能,該類必須是抽象類。抽象類的特點 a 抽象類和抽象方法必須用abstract關鍵字修飾 b 抽象類中不一定有抽象方法,但是有抽象方法的類必須定義為抽象類 ...

java複習二 抽象類和抽象方法的概述

抽象類 抽象類其實跟其他的類相比只是它多了抽象方法而已,那什麼是抽象方法呢?抽象方法就是只宣告但是不用實現的方法,所有的抽象方法都必須用abstract關鍵字來宣告,當然了包含抽象方法的抽象類也必須用abstract class來宣告。1.抽象類與抽象方法必須用abstract關鍵字來宣告 2.抽象...

抽象方法和抽象類

思想 利用通用介面建立的一種基本形式,以此表示所有匯出類的共同部分 概念 1 抽象方法 僅有宣告,沒有方法體 2 抽象類 含抽象方法的類 要點 抽象類可以不含抽象方法 抽象類不能被例項化 不能使用 new 關鍵字 子類繼承抽象父類而不提供方法定義,則子類也必須為抽象類 抽象類可以包含屬性 方法 構造...