/*
抽象類的概述:
動物不應該定義為具體的東西,而且動物中的吃,睡等也不應該是具體的。
我們把乙個不是具體的功能稱為抽象的功能,而乙個類中如果有抽象的功能,該類必須是抽象類。
抽象類的特點:
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 關鍵字 子類繼承抽象父類而不提供方法定義,則子類也必須為抽象類 抽象類可以包含屬性 方法 構造...