Java中的抽象修饰符有什么作用?

abstract关键字用于声明方法抽象方法和抽象类。一旦方法被声明为抽象,我们就不应该为这些方法指定主体。

示例

public abstract class Sample{
   public abstract demo(){
   }
}

错误

Sample.java:2: error: invalid method declaration; return type required
   public abstract demo(){
                   ^
1 error

一旦类被声明为抽象,就无法实例化。

示例

public abstract class Sample{
   public abstract void demo();
   public static void main(String args[]){
      new Sample();
   }
}

错误

C:\Sample>javac Sample.java
Sample.java:4: error: Sample is abstract; cannot be instantiated
   new Sample();
   ^
1 error