程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java中的抽象類,java抽象類

java中的抽象類,java抽象類

編輯:JAVA綜合教程

java中的抽象類,java抽象類


抽象類 : 用關鍵字abstract ;一個類如果被abstract修飾那麼這個就叫抽象類。
如果abstract修飾方法 ,那麼這個方法就叫抽象的方法
如果abstract修飾類,那麼這個類叫抽象類。
如果一個類繼承了抽象類,必須要實現抽象類中的抽象方法。

abstract關鍵字的使用:

方法體 : 方法中大括號的內容就是方法體。
1.如果一個方法沒有方法體,那麼這個方法必須要用abstract 來修飾。
2.如果一個類中有抽象方法,那麼這個類必須用abstract 來修飾 ,為抽象的類。
3.如果一個非抽象的類,繼承了這個抽象類,那麼這個非抽象類中必須重寫所有的抽象方法。
4.一個抽象類中是可以有非抽象的方法。
5.一個抽象類中是可以存在構造方法。作用是讓子類能過初始化父類中的變量。
6.抽象類不能夠創建對象
          原因:如果創建對象,對象就可以調用到抽象方法,這樣調用抽象方法是沒有意義。

7.一個抽象類中是可以不出現抽象方法的。

abstract關鍵字的使用場景:
我們在描述一個事物的時候,發現這個事物確實存在某種行為,但是這種行為又不具體,那麼這個時候就可以抽取這種行為 聲明一個沒有實現的行為,這種行為就叫抽象的行為,那麼這個時候就需要用到抽象類。

//通過abstract 關鍵字修飾的類叫抽象類。
abstract class Animal
{
String name;
String color;
abstract public void run ();//抽象方法是沒有主體,沒有方法的具體實現。

public void eat (){
System.out.println("動物在吃東西");
}

}

//一非抽象的類繼承了抽象類,必須實現抽象類中的所有方法。
class Dog extends Animal
{

//需要重寫父類中的run方法

public void run(){

System.out.println(name + "跑的很快");
}

}

class Fish extends Animal
{
//重寫方法 : 沒有強制要求重寫run方法。

//應該要重寫,但是我可以不重寫。這樣就容易出問題。

//想一個方法強制性讓子類重寫父類中的某一個方法

public void run(){
System.out.println(name+"游得很快");
}
}

class Demo8
{
public static void main(String[] args)
{

Dog d = new Dog();
d.name = "高加索";
d.run();
d.eat();
Fish fish = new Fish();
fish.name = "鯨魚";
fish.run();
fish.eat();
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved