Java關鍵字abstract

來源:互聯網
上載者:User
abstract 關鍵字可以修飾類或方法。

abstract 類可以擴充(增加子類),但不能直接執行個體化。

abstract 方法不在聲明它的類中實現,但必須在某個子類中重寫。

樣本
  public abstract class MyClass  {  }  
  public abstract String myMethod();  
注釋
  • 採用 abstract 方法的類本來就是抽象類別,並且必須聲明為
    abstract。

  • abstract 類不能執行個體化。

  • 僅當 abstract 類的子類實現其超類的所有
    abstract 方法時,才能執行個體化 abstract 類的子類。這種類稱為具體類,以區別於 abstract 類。

  • 如果 abstract 類的子類沒有實現其超類的所有
    abstract 方法,該子類也是 abstract 類。

  • abstract 關鍵字不能應用於 static、private 或
    final 方法,因為這些方法不能被重寫,因此,不能在子類中實現。

  • final 類的方法都不能是 abstract,因為
    final 類不能有子類。

 

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

abstract作為修飾符,可以修飾類和方法。

    1.抽象類別: 不能手動建立對象(JVM可以建立抽象類別的對象),但是可以聲明抽象類別型的引用。

 public class TestAbstract1{
public static void main(String[] args){
//Animal a=new Animal(); //error

Animal a=null;
a=new Dog();
}
}
abstract class Animal{
}
class Dog extends Animal{
}

    2.抽象方法:有方法名的定義,沒有實現,(只定義了能做什麼,沒定義怎麼做)

    抽象方法的好處是允許方法的定義和實現分開。

 abstract class Animal{
public abstract void eat();
}

    抽象類別和抽象方法的關係:含有抽象方法的類一定是抽象類別,抽象類別裡不一定含有抽象方法

    抽象類別存在的意義是用來被繼承的。一個類繼承了一個抽象類別,必須實現抽象類別裡面所有的抽象方法,否則,此類也是抽象類別。

 abstract class Animal{
public void run(){}
public abstract void sleep();
public abstract void eat();
}
class Dog extends Animal{
public void sleep(){
System.out.println("Dog sleep.");
}
public void eat(){
System.out.println("Dog eat.");
}
}
abstract class Cat extends Animal{
public void eat(){
System.out.println("Cat eat.");
}
}

    可以聲明父類類型子類對象,利用多態調用抽象方法

 public class TestAbstract1{
public static void main(String[] args){
Animal a=null;
a=new Dog();
a.sleep();
a.eat();
}
}

    抽象類別有構造方法,有父類的,也遵循單繼承的規律

 class E{}
abstract class Animal extends E{
public Animal(){
super();
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.