歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Java抽象類的使用

Java抽象類的使用

日期:2017/3/1 11:46:35   编辑:關於Linux

  /*

  當多個類中出現相同功能,但是功能主體不同,這是可以進行向上抽取。這時,只抽取功能定義,而不抽取功能主體。

  抽象:看不懂。

  抽象類的特點:

  1,抽象方法一定在抽象類中。

  2,抽象方法和抽象類都必須被abstract關鍵字修飾。

  3,抽象類不可以用new創建對象。因為調用抽象方法沒意義。

  4,抽象類中的抽象方法要被使用,必須由子類復寫起所有的抽象方法後,建立子類對象調用。

  如果子類只覆蓋了部分抽象方法,那麼該子類還是一個抽象類。

  抽象類和一般類沒有太大的不同。

  該如何描述事物,就如何描述事物,只不過,該事物出現了一些看不懂的東西。

  這些不確定的部分,也是該事物的功能,需要明確出現。但是無法定義主體。

  通過抽象方法來表示。

  抽象類比一般類多個了抽象函數。就是在類中可以定義抽象方法。

  抽象類不可以實例化。

  特殊:抽象類中可以不定義抽象方法,這樣做僅僅是不讓該類建立對象。

  練習:

  abstract 關鍵字,和哪些關鍵字不能共存。

  final:被final修飾的類不能有子類。而被abstract修飾的類一定是一個父類。

  private: 抽象類中的私有的抽象方法,不被子類所知,就無法被復寫。

  而抽象方法出現的就是需要被復寫。

  static:如果static可以修飾抽象方法,那麼連對象都省了,直接類名調用就可以了。

  可是抽象方法運行沒意義。

  抽象類中是否有構造函數?

  有,抽象類是一個父類,要給子類提供實例的初始化。

*/

abstract class Student
{
    abstract final void study();
    //abstract void study1();
    void sleep()
    {
        System.out.println("躺著");
    }
}
/*

class ChongCiStudent extends Student
{
    void study()
    {
        System.out.println("chongci study");
    }
}

class BaseStudent extends Student
{
    void study()
    {
        System.out.println("base study");
    }
}

class AdvStudent extends Student
{
    void study()
    {
        System.out.println("adv study");
    }
}
*/
class AbstractDemo 
{
    public static void main(String[] args) 
    {
        //new Student();
        //new BaseStudent().study();
    }
}

Copyright © Linux教程網 All Rights Reserved