首頁 > Java > java教程 > Java中什麼是抽象類別?

Java中什麼是抽象類別?

零下一度
發布: 2017-06-25 09:34:55
原創
2062 人瀏覽過

想要了解介面我們要先知道抽象類別。那什麼是抽象類別呢?

問題描述:生活中我們有很多的物件是無法具體描述的,比如說:我們可以說四邊形有四條邊。或者俱體點說就是矩形兩邊對稱且相等,正方形四邊對稱且相等。但是對於普通的圖形而言就很難具體描述了。轉換成Java語言就是說:對於一個很具體的類別我們可以很方便的定義它的各種屬性和方法,但是對於有一些類別我們卻難以了解它的方法時如何實現的。這時我們就可以用到抽象類別。

抽象類別的語法格式如下:

1 public abstract class 类名{2   abstract 返回值类型 方法名(参数列表);//定义抽象方法      3 }
登入後複製

定義抽象方法的關鍵字是:abstract。

使用abstract定義的類別稱為抽象類,而使用abstract定義的方法稱為抽象方法。

抽象方法沒有方法體,本身也沒有任何意義,因此抽象類別是不能夠被實例化的。

當它被其子類別繼承時,子類別必須實作其中的抽象所有方法。

只要類別中有一個抽象放方法,此類就必須定義為抽象類別。

 

了解了抽象類,我們繼續思考下面的問題,來看先下面一段程式碼:

##
public abstract class shape 
{//定义一个图形抽象类public abstract void toString();//toString抽象方法public abstract void paint();//画图的抽象方法}public class triangle extends shape
{public void toString()
    {
        system.out.println("toString");
    }public void paint()
    {
        system.out.println("paint");
    }
}
登入後複製

這樣看起來好像沒什麼問題。如果我們有些類別中不希望它有paint方法怎麼辦?把paint方法放到另一個類別?但是其它的類別還要使用這個方法。而Java的語法規定了,類別是不能多繼承的,怎麼辦?這時我們就可以考慮使用介面了。

介面是抽象類別的延伸,解決了Java中不能多繼承的缺點。我們可以把paint方法封裝到一個介面中,然後讓需要用的圖形類別的子類別實作這個介面。而Java中一個類別是可以實作多個介面的,我們可以把不同的方法封裝在介面中,交給類別來使用。

介面的關鍵字是interface。其定義如下:

public interface 接口名  extends 类名  implements 接口,....{  //定义常量
  public static final 数据类型 常量名=值;  //定义抽象方法
  public abstract 返回值类型 方法名 (参数列表);        
}
登入後複製

要注意的是:1.介面不能被實例化   2.介面的存取修飾符只能是public  3.介面會預設提供public abstract static final關鍵字

以上是Java中什麼是抽象類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板