2016-03-05 16 views

回答

1

您不能继承做,因为javafx.geometry.Point2D不提供一个无参数的构造函数。你可以通过组合来完成,如下所示。这可能不方便,因为getPoint()方法,替代方法是重现您需要的任何Point2D接口。当我遇到这个时,我简单地使用了java.awt.Point2D.Double,它是Serializable,但是当然没有javafx.geometry.Point2D的丰富接口。

class MyPoint2DByComposition implements Serializable { 
    Point2D myPoint ; 

    public MyPoint2DByComposition(double x, double y) { 
     myPoint = new Point2D(x,y) ; 
    } 

    public Point2D getPoint() { 
     return myPoint ; 
    } 

    private void writeObject(java.io.ObjectOutputStream out) 
    throws IOException { 
     out.writeDouble(myPoint.getX()); 
     out.writeDouble(myPoint.getY()); 
    } 

    private void readObject(java.io.ObjectInputStream in) 
    throws IOException, ClassNotFoundException { 
     myPoint = new Point2D(in.readDouble(), in.readDouble()) ;   
    } 
} 
相关问题