Java 中的抽象類
使用了關鍵詞abstract宣告的類叫作“抽象類”。如果一個類裡包含了一個或多個抽象方法,類就必須指定成abstract(抽象)。
“抽象方法”,屬於一種不完整的方法,只含有一個宣告,沒有方法主體。
使用抽象類要注意以下幾個要點:
包含一個或者多個抽象方法的類必須被宣告為抽象類.
將類宣告為抽象類,不一定含有抽象方法.
通常認為,在抽象類中不應該包括具體方法,建議儘量將通用的域和方法放在超類中.
抽象類不可以被例項化.即不能建立這個類的物件
例項程式碼:
package com.imooc.chouxiang;
//定義一個抽象父類Telephone
public
abstract class
//定義兩個抽象方法,抽象方法沒有方法體,以分號結束。
public abstract void call();
public abstract void message();
}
定義兩個子類CellPhone,SmartPhone繼承Telephone,子類會自動生成call,message方法,在子類中實現具體的方法。
package com.imooc.chouxiang;
public class CellPhone extends Telephone {
@Override
public void call() {
System.out
}
@Override
public void message() {
System.out.println("傳統手機用鍵盤發簡訊!!");
}
}
package com.imooc.chouxiang;
public class SmartPhone extends Telephone {
@Override
public void call() {
System.out.println("智慧手機用語音撥打電話!!
}
@Override
public void message() {
System.out.println("智慧手機用語音傳送簡訊!!");
}
}
建立一個測試類測試抽象類及子類,程式碼及執行結果如下:
package com.imooc.chouxiang;
public classTestPhone {
public static void main(String[] args) {
//CellPhone的一個例項
Telephonetl1=new CellPhone();
//呼叫CellPhone的兩個方法
tl1.call();
tl1.message();
//SmartPhone的一個例項
Telephonetl2=new SmartPhone();
//呼叫SmartPhone的兩個方法
tl2.call();
tl2.message();
}
}
執行結果如下:
傳統手機用鍵盤撥打電話!!
傳統手機用鍵盤發簡訊!!
智慧手機用語音撥打電話!!
智慧手機用語音傳送簡訊!!
相關推薦
Java中抽象類和接口的區別
pre data 區分 信息 展示 關於 面向 得出 lose 在Java語言中, abstract class 和interface 是支持抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的 面向對象能力。abstract class和interfac
Java中抽象類的理解
pan 創建 所有 bsp 抽象類 member 初始 dem print ---------------------------------------- 今天來給大家分享一下我對抽 象類及抽象方法的理解: -----------------------------
java中抽象類和抽象方法到底什麽關系?請舉例說明!
init 舉例 web nds ike anti 聲明 use dont 抽象類和抽象方法什麽關系?抽象類中可能有抽象方法,也可能沒有抽象方法。(視頻下載) (全部書籍)那位說,就跟沒說一樣,那抽象類和抽象方法都叫抽象,他們必定有關系,那關系是什麽呢?如果一個類中有抽象方法
Java中抽象類和介面的對比分析
abstract class在Java語言中表示的是一種繼承關係,一個類只能使用一次繼承關係。但是,一個類卻可以實現多個interface。 在abstract class中可以有自己的資料成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的
舉例說明java中抽象類和介面的區別
先定義一個介面: 介面中定義了兩個方法,現在定義一個普通類實現這個介面: 這時候發現報錯了,以前只知道實現介面必須實現其中的方法,卻不知道為什麼要實現。最近才瞭解到: 如果一個類繼承了某個抽象類或者實現了某個介面都需要對其中的抽象方法進行實現,否則該類需要被宣告為
(轉)詳細解析Java中抽象類和介面的區別
原文地址:https://zhuanlan.zhihu.com/p/50989401 在Java語言中, abstract class 和interface 是支援抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的 面向物件能力。abstract class和interface之間在對於
Java中抽象類和抽象方法的區別
Java中抽象類和抽象方法的區別 抽象方法:在類中沒有方法體的方法,就是抽象方法。 抽象類:含有抽象方法的類就叫抽象類。 抽象類中的抽象方法必須被實現! 如果一個子類沒有實現父類中的抽象方法,則子類也成為了一個抽象類! 抽象類中的普通方法,可以不必實現。 1&
Java中抽象類
抽象類用abstract修飾,必須有抽象方法,不能被例項化,抽象類可以有構造方法。抽象方法也用abstract修飾。抽象方法有兩個特點,一是被abstract修飾,二是沒有方法體。 abstract
Java中抽象類和介面的具體區別 都分別什麼時候用
學習Java已經一個月的時間了,期間經歷了從入門到放棄再到重拾信心重新奮鬥。今天的學習總結是關於Java中抽象類和介面的區別總結。 一、Java抽象類 1.抽象類必須用 abstract修飾 2.如果一個類有abstract方法,這個類一定是抽象類 3.抽象類不一定有抽象方法 4.抽象類
java中 抽象類和介面的區別
不同點: 1.從語法上來講,抽象類 abstract class,介面中用interface 2.定義中:①變數:抽象類中可以定義變數,介面只有常量 public static final ②常量:抽象類中任何方法都可以除了(defa
詳細解析Java中抽象類和介面的區別
在abstract class方式中,Demo可以有自己的資料成員,也可以有非 abstract的成員方法,而在interface方式的實現中,Demo只能夠有靜態的不能被修改的資料成員(也就是必須是static final 的,不過在interface中一般不定義資料成員),所有的成員方法都是abstr
Java中抽象類與介面區別
抽象類:抽象類是無法例項化的特殊類。所以問題是為什麼我們需要一個不能被例項化的類,抽象類只能是子類(繼承自)。換句話說,它只允許其他類繼承它,但不能例項化。優點是它為所有子類執行特定的層次結構。簡
Java中抽象類的構造器的作用
因為抽象類不可例項化,那麼只能在子類例項化時呼叫該抽象類的構造器才有用 看例項程式碼: abstract class Animal { Animal(){ System.out.println("抽象類Animal無參構造器"); //此處執行前會預設執行super
簡述Java中抽象類和介面,及其兩者區別
在說區別之前,先簡要說一下什麼是抽象類和介面 1.抽象類 用abstract修飾的類叫做抽象類。 在講抽象類之前有必要強調一下abstract修飾符: 1.abstract修飾的類為抽象類,此類不能有物件,(無法對此
Java中抽象類、介面、包的文件練習
。一、選擇題 1. 實現介面的類修飾不可以是( ) A. Public B、abstract C、final D、void 2. 下面程式定義了一個類,關於該類說法正確的是( ) abstract classabst
Java中抽象類和介面的區別?
抽象類: 抽象類必須在類前加上abstract表示這是一個抽象類,抽象類的抽象方法不需要實現,他只是一種宣告,所以也就無法建立抽象類的物件。一個類繼承抽象類必須實現抽象類中的抽象方法,如果不實現這個抽象方法,那麼這個類就必須是抽象的。 介面: 介面是Java中的interface,介面中
java中抽象類的學習
一、抽象類的產生 抽象類的產生和繼承有關,和父類有關,父類就是子類的共性抽取出來的。所謂的抽象,就是不是一種實物,比如人、貓、狗抽象出來是動物,人是實物、物件,貓是實物、物件。但是動物就不是實物和物件。動物就是抽象出來的。因此抽象類就是從實物中抽取出來的共性組成的類。 二、abstrac
說一下Java中抽象類和介面存在的意義與價值
首先簡單的介紹一下抽象類: 定義是很簡單的,我們這裡不寫官方的語言,我自己看著都煩,我們就用白話介紹,抽象類本質是一個類,沒問題,那麼類裡面一般都是有方法的,方法包括方法名和方法體,這是常識對不對,那麼什麼是抽象類呢?如果一個類裡面有一種方法只有方法名卻沒有方法體,這樣的類
面試常見題---------java中抽象類跟介面的區別
含有abstract修飾符的class 即為抽象類,abstract類不能建立例項物件,含有abstract的方法的類必須定義為abstract class ,abstract class 裡
Java中抽象類和介面中有構造方法嗎?
1.時間:2017-07-05 10:25:44 YuanMxy 2.問題描述:Java中抽象類和介面中有構造方法嗎? 3.問題解答: (1)Java中抽象類和介面中有構造方法嗎? ①在介面中 不可以有構造方法 在接口裡寫入構造方法時,