Java 无法实例化抽象类

Java 无法实例化抽象类,java,oop,instantiation,Java,Oop,Instantiation,我无法实例化GuitarAbstract类 错误: package InterfaceAbstractOverloadingOverriding; public class instrumentExecute { public static void main(String[] args) { GuitarAbstract g = new GuitarAbstract(); NewGuitar ng = new NewGuitar();

我无法实例化
GuitarAbstract

错误:

package InterfaceAbstractOverloadingOverriding;

public class instrumentExecute 
{

    public static void main(String[] args) 
    {
         GuitarAbstract g = new GuitarAbstract();
         NewGuitar ng = new NewGuitar(); 
         g.play();
         ng.play();

         g = new GuitarAbstract(7);
         ng = new NewGuitar(5);
         g.play();
         ng.play();
    }
}

不能直接实例化抽象类,但可以为抽象类实例化

例如,给定以下抽象类:

Cannot instantiate the type GuitarAbstract.GuitarAbstract is an abstract class.
您可以创建一个匿名类,如下所示:

class GuitarAbstract {

  public abstract void play();
}

不能直接实例化抽象类:因为它是一个抽象类。您需要创建从该类继承的具体内容,以便能够实例化某些内容。请遵循java命名约定。包应全部为小写,另一方面,类应为驼峰大小写(InstrumentExecute)。
GuitarAbstract guitar = new GuitarAbstract() {

  @Override
  public void play() {
    System.out.println("Playing guitar!");
  }
};