扩展类并使变量易变

问题描述 投票:0回答:1

我有这个向量类:

public class Vector {
    public double x;
    public double y;

    public double getLength() {
        return Math.sqrt(x*x+y*y);
    }
}

大多数时候,我只是想像现在一样使用它,但是在某些情况下,我想使用它的易失性版本,所以我尝试扩展它:

public class VectorVolatile extends Vector {
    public volatile double x;
    public volatile double y;
}

其背后的想法是将原始类中的所有功能也用于volatile类。但这是行不通的。变量(x,y)将无法正确替换。

我想使用volatile,因为我有2个线程。一个线程读取和写入对象,另一线程仅读取。我想使用volatile而不是同步,因为我认为它速度更快,并且由于一个线程仅读取,因此将变量设置为volatile应该足够。

是否有一种方法可以从原始类中获取所有功能而无需复制和粘贴?我不应该使用挥发物吗?

我有这个向量类别:public class Vector {public double x;公共双y; public double getLength(){返回Math.sqrt(x * x + y * y); }}大多数时候我只想...

java class volatile extends
1个回答
0
投票

通过扩展,您没有更改Vector类的成员的属性。

© www.soinside.com 2019 - 2024. All rights reserved.