Java 如何使接口功能在赢得';不总是一样的吗?
我必须为一个包制作一个接口。此接口需要Java 如何使接口功能在赢得';不总是一样的吗?,java,function,methods,interface,package,Java,Function,Methods,Interface,Package,我必须为一个包制作一个接口。此接口需要calculateVolume()和calculateSurfaceArea()方法。问题是,Cube、Sphere和column类将使用此接口,它们有不同的公式来解决这些问题。所以我想知道如何使接口功能,使所有三种不同的计算都得到满足 附带问题:我如何创建一个clone()方法,它是用来做什么的?相同的名称,不同的实现,不是接口的用途吗?克隆用于制作对象的完整副本(所有成员的副本)。在接口中,您声明了方法,但没有实现它们。接口就是这样的:一个方法列表,其中
calculateVolume()
和calculateSurfaceArea()
方法。问题是,Cube
、Sphere
和column
类将使用此接口,它们有不同的公式来解决这些问题。所以我想知道如何使接口功能,使所有三种不同的计算都得到满足
附带问题:我如何创建一个
clone()
方法,它是用来做什么的?相同的名称,不同的实现,不是接口的用途吗?克隆用于制作对象的完整副本(所有成员的副本)。在接口中,您声明了方法,但没有实现它们。接口就是这样的:一个方法列表,其中包含执行不同操作的参数和返回类型,但没有任何实现。例如:
public interface Shape
{
double calculateVolume();
double calculateSurfaceArea();
}
然后,当您要实现接口时:
public class Cube
implements Shape
{
private double sideLength;
@Override
public double calculateVolume()
{
return sideLength * sideLength * sideLength;
}
// etc.
}
这一切都应该说清楚 在接口中,您只能声明方法签名,实际实现将在实现类中。不同的实现类可以有不同的逻辑,所以在接口中我实际上不会做任何计算?只要把“calculateSurfaceArea(){}”?@pleasehelp:“所以在界面中我实际上不会做任何计算?”对。我建议您从当前任务中退一步,学习一些基本的Java教程(没有
{}
,您还需要一个结果类型,例如double
或其他类型)。接口永远不能有实现。它应该类似于public int calculateSurfaceArea();