程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 簡略懂得Java的籠統類

簡略懂得Java的籠統類

編輯:關於JAVA

簡略懂得Java的籠統類。本站提示廣大學習愛好者:(簡略懂得Java的籠統類)文章只能為提供參考,不一定能成為您想要的結果。以下是簡略懂得Java的籠統類正文


在自上而下的繼續條理構造中,位於下層的類更具有通用性,乃至能夠加倍籠統。從某種角度看,先人類加倍通用,它只包括一些最根本的成員,人們只將它作為派生其他類的基類,而不會用來創立對象。乃至,你可以只給出辦法的界說而不完成,由子類依據詳細需求來詳細完成。

這類只給出辦法界說而不詳細完成的辦法被稱為籠統辦法,籠統辦法是沒無方法體的,在代碼的表達上就是沒有“{}”。包括一個或多個籠統辦法的類也必需被聲明為籠統類。

應用 abstract 潤飾符來表現籠統辦法和籠統類。

籠統類除包括籠統辦法外,還可以包括詳細的變量和詳細的辦法。類即便不包括籠統辦法,也能夠被聲明為籠統類,避免被實例化。

籠統類不克不及被實例化,籠統辦法必需在子類中被完成。請看上面的代碼:

import static java.lang.System.*;
public final class Demo{
  public static void main(String[] args) {
    Teacher t = new Teacher();
    t.setName("王明");
    t.work();
    
    Driver d = new Driver();
    d.setName("小陳");
    d.work();
  }
}
// 界說一個籠統類
abstract class People{
  private String name; // 實例變量
  
  // 共有的 setter 和 getter 辦法
  public void setName(String name){
    this.name = name;
  }
  public String getName(){
    return this.name;
  }
  
  // 籠統辦法
  public abstract void work();
}
class Teacher extends People{
  // 必需完成該辦法
  public void work(){
    out.println("我的名字叫" + this.getName() + ",我正在授課,請年夜家不要東張西望...");
  }
}
class Driver extends People{
  // 必需完成該辦法
  public void work(){
    out.println("我的名字叫" + this.getName() + ",我正在開車,不克不及接聽德律風...");
  }
}

運轉成果:

我的名字叫王明,我正在授課,請年夜家不要東張西望...
我的名字叫小陳,我正在開車,不克不及接聽德律風...

關於籠統類的幾點解釋:
籠統類不克不及直接應用,必需用子類去完成籠統類,然後應用其子類的實例。但是可以創立一個變量,其類型是一個籠統類,並讓它指向詳細子類的一個實例,也就是可使用籠統類來充任形參,現實完成類作為實參,也就是多態的運用。
不克不及有籠統結構辦法或籠統靜態辦法。


鄙人列情形下,一個類將成為籠統類:
當一個類的一個或多個辦法是籠統辦法時;
當類是一個籠統類的子類,而且不克不及為任何籠統辦法供給任何完成細節或辦法主體時;
當一個類完成一個接口,而且不克不及為任何籠統辦法供給完成細節或辦法主體時;留意:
這裡說的是這些情形下一個類將成為籠統類,沒有說籠統類必定會有這些情形。
一個典范的毛病:籠統類必定包括籠統辦法。 然則反過去說“包括籠統辦法的類必定是籠統類”就是准確的。
現實上,籠統類可所以一個完整正常完成的類

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