2012-04-26 85 views
-3
 System.out.print("Enter Point1 X: "); 
     int point1X = G51OOPInput.readInt(); 
     System.out.print("Enter Point1 Y: "); 
     int point1Y = G51OOPInput.readInt(); 
     System.out.print("Enter Point2 X: "); 
     int point2X = G51OOPInput.readInt(); 
     System.out.print("Enter Point2 Y: "); 
     int point2Y = G51OOPInput.readInt(); 
     MyPoint p1 = new MyPoint(point1X, point1Y); 
     MyPoint p2 = new MyPoint(point2X, point2Y); 
     MyLine line = new MyLine(p1, p2); 

有了这段代码,我得到一个错误:'不能实例化类型MyLine',我不知道它是什么意思或如何解决它。请帮忙吗?我不知道错误的含义是什么?

这是从主文件,但MYLINE的抽象是这里http://pastebin.com/3tRbgtge

+1

请显示* actual *和完整的错误信息。请向我们展示MyLine类的代码。 – 2012-04-26 23:57:28

+1

MyLines可能是抽象的 – 2012-04-26 23:57:52

+1

这就是我在想什么,抽象或者一个接口。 – 2012-04-26 23:58:09

回答

3

没错你MYLINE类是抽象的,你不能实例化。

public abstract class MyLine extends MyShape{ 

您需要实例化它的具体子类。

编辑
或者,如果MYLINE是你的类和你做它抽象的,因为你没有实现所有必要的方法,然后编辑类,除去抽象的关键词,并且一定要实现所有抽象在其父类Shape中定义的方法。

1

MyLineabstract类。你不能实例化它。你需要创建一个具体的子类MyLine并实例化。

+0

如何以及在哪里做具体的子类? – user1351008 2012-04-27 00:04:14

+0

您需要创建一个扩展“MyLine”的非'abstract'类。您可以根据自己的要求在自己的文件中创建它,或者将其作为嵌套子类创建。 – Jeffrey 2012-04-27 00:07:06

相关问题