abstract關鍵字表明類或者成員方法具有抽象屬性,可以修飾:
- 類
- 方法
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( );
}
}
顯示結果爲:
我是父類構造方法
我是子類構造方法
我是子類方法