不能实例化一个抽象类

7 浏览
0 Comments

不能实例化一个抽象类

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();
    }
}

\n我无法实例化GuitarAbstract类\n错误:\n无法实例化类型GuitarAbstract。GuitarAbstract是一个抽象类。

0
0 Comments

无法直接实例化抽象类,但可以实例化该抽象类的匿名类。解决方法是使用匿名类来实例化抽象类。

在上述示例中,给出了一个抽象类GuitarAbstract。可以通过以下方式创建一个匿名类的实例:

GuitarAbstract guitar = new GuitarAbstract() {
  public void play() {
    System.out.println("Playing guitar!");
  }
};

在这个例子中,通过创建一个匿名类,该匿名类继承了抽象类GuitarAbstract,并实现了抽象方法play()。通过实例化这个匿名类,就可以使用抽象类的功能。

0