带有形状体积和面积类的 Java 接口(interface)

标签 java oop math interface package

我对 Java 非常陌生,想知道如何正确使用接口(interface)来连接类。

假设在包 Y 中有一个接口(interface) X,用于计算形状的体积和面积

package Y;

public interface Shape {
    public double volume();

    public double surfaceArea();
}

给定一个名为四面体的类,其中体积和面积的数学计算分别为

package Y;

public class Tetrahedron implements Shape{
    Tetrahedron(double edge) {
        (volume) Math.pow(edge, 3)/(6*Math.sqrt(2));
        (area) Math.sqrt(3)*Math.pow(edge, 2);
    }
}

然后再次由主类访问,也在包 Y 中

package Y;

public class Main {
    static void main(String[] args){
        Shape a = new Tetrahedron(5);
        System.out.println(a.volume());
        System.out.println(a.surfaceArea());
    }
}

您究竟会如何将接口(interface)连接到第二个类? 据我所知,您不能简单地通过执行诸如 volume = x 之类的操作来覆盖 volumesurfaceArea 的值,那么究竟如何是否使用该接口(interface)从 A 到 B 再到 C?

最佳答案

我认为你应该这样做。

public interface Shape {
    public double volume();

    public double surfaceArea();
}

public class Tetrahedron implements Shape{
    double edge;
    Tetrahedron(double edge) {
        this.edge=edge;
    }

    @Override
    public double volume(){
         return Math.pow(edge, 3)/(6*Math.sqrt(2));
    }

    @Override
    public double surfaceArea(){
         return Math.sqrt(3)*Math.pow(edge, 2);
    }
}

关于带有形状体积和面积类的 Java 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55470945/

相关文章:

java - 正则表达式提取文本

java - 如何在 Intellij IDEA 中更改 Javadoc 的字体大小?

java - 如何在事件驱动通信中表示事件数据?

.NET 实现 : Double conversion in Math. Min(float, float)

java - 增加数据库 SQLite 中的计数器

java - 如何制作不同类的链表?

java - 创建一个单独的对象并从 Java 中的对象引用编辑它

python - 检查两个图像的 RGB 值之间的差异

c# - 你怎么能加两个分数?

java - java中添加变量类型后如何知道?