当我输入简单的代码来查找周边和矩形来演示java中的方法覆盖时,我意识到我遇到了这个问题。我可以在相同的子类方法中返回区域(长度*宽度)吗?
package override;
class perimeter{
int length,breadth;
perimeter(){length = breadth = 0;}//default constructor
perimeter(int length, int breadth){
this.length = length;
this.breadth = breadth;
}
int show(int length, int breadth){
return 2*(length + breadth);
}
}
class area extends perimeter{
area(int length, int breadth){
super(length,breadth);
}
int show(int length, int breadth){
return super.show(length, breadth);
// how can i return this too? : return length * breadth;
}
}
public class overrideshapes {
public static void main(String args[]){
area shape1 = new area(5,10);
System.out.println(""+ shape1.show(shape1.length,shape1.breadth));
}
}
答案 0 :(得分:0)
我不知道你想做什么,但我会再解释一下我在考虑你的问题。
我认为你想要计算不同多边形的周长和面积,所以最好的方法是创建一个接口,就像这样。
public Interface Calculate {
public int calculateArea(int length, int width);
}
然后你应该根据你的多边形实现你的界面,例如:
public class Square implements Calculate {
@Override
public int calculateArea(int length, int width){
return length*width; //Because this is the way you calculate square areas
}
}
因此,您必须使用@Override注释为您的多边形实现接口方法“calculateArea”,因此每个多边形都知道如何计算其面积。
希望对你有所帮助。