[英]How can i return a value from an overridden method in the superclass AND the method in the subclass?
当我键入简单的代码来查找边界和矩形以演示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));
}
}
我不知道您要做什么,但是我将再解释一些我在想您的问题。
我认为您想计算不同多边形的周长和面积,所以最好的方法是创建一个类似Interface的接口。
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”,以便每个多边形都知道如何计算其面积。
希望对您有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.