java抽象類的作用
發布于:2019-06-11   作者:admin   瀏覽:46次

  java培訓主要講解了java中抽象類與接口的概念、使用及它們之間的區別。這部分知識是屬于java語言中核心的知識,是我們理解面向對象思想及代碼設計必要掌握的內容。

  假設有一個Employee和Student類,考慮一下對這兩個類的擴展。比如每個員工或者學生都有姓名,因此可以將name放在較高層次的超類Person中。另外可以在Person中再添加一個方法getDescription,它可以返回對一個人的描述。因為不知道這個人是學生還是員工,所以該方法是抽象(abstract)的,也就是沒有方法體的。

java抽象類的作用

  如下代碼:

  publicabstractclassPerson{

  privateStringname;

  publicPerson(Stringname){

  this.name=name;

  }

  publicStringgetName(){

  returnname;

  }

  publicabstractvoidgetDescription();

  }

  抽象類要使用關鍵字:abstract

  抽象類中除了可以包含抽象方法外,也可以包含具體數據和具體方法。抽象方法充當一個占位的角色。

  擴展抽象類可以有兩種選擇:

  ?一種是在子類中定義部分抽象方法或不定義抽象方法,這樣就必須將子類也標記為抽象類;

  ?另一種是定義全部的抽象方法,這樣子類就不是抽象的了。

  類即使不含抽象方法,也可以將類聲明為抽象的,不過這樣沒有什么意義。

  抽象類不能被實例化。也就是說,將一個類聲明為abstract,就不能創建這個類的對象了,但是可以創建一個具體子類的對象。需要注意的是,可以定義一個抽象類的對象變量,但是它只能引用非抽象子類的對象:Personp=newStudent();//這里p是一個抽象類Person的變量,但他引用非抽象子類Student的實例。

  publicclassStudentextendsPerson{

  publicStudent(Stringname){

  super(name);

  }

  @Override

  publicvoidgetDescription(){

  System.out.println("我是一個學生!");

  }

  }

快3彩票