新手筆記:abstract的使用

abstract關鍵字表明類或者成員方法具有抽象屬性,可以修飾:

  • 方法
abstract修飾類
被abstract修飾的類稱爲抽象類,抽象類不能被實例化,必須經過子類的繼承才能使用。
abstract修飾方法
被abstract修飾的方法爲構造方法,當某個方法被定義爲抽象方法時,該方法不能有實現,該方法的實現在子類中重載。


注:1.如果一個類含有抽象方法,則這個類一定是抽象類;但是如果一個類是抽象類時,其中的方法不一定都是抽象方法。
2.由於abstract修飾的類,需要被繼承,從而進行重載。因此abstract和fianl不能同時修飾一個類。

package abstractTest;

public abstract class myClassFather
{
  final int num = 1;
  public void myMethod1 ( )
  {
    System.out.println( "我是父類方法" );
  }

  public myClassFather ( )
  {
    System.out.println( "我是父類構造方法" );
  }
  
  public abstract void myAbstractMethod ( );// 父類的抽象方法
}
package abstractTest;

public class myClassChild extends myClassFather
{
  @Override
  public void myMethod1 ( )
  {
    System.out.println( "我是子類方法" );
  }

  public myClassChild ( )
  {
    System.out.println( "我是子類構造方法" );
  }

  @Override
  /**
   * 父類的抽象方法,必須重載
   */
  public void myAbstractMethod ( )
  {

  }

}
package abstractTest;

public class MyAbstract
{

  /**
   * @param args
   */
  public static void main ( String[ ] args )
  {
    myClassChild myclass1 = new myClassChild( );
    myclass1.myMethod1( );
  }
}

顯示結果爲:

我是父類構造方法
我是子類構造方法
我是子類方法


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章