Ich erkannte, dass ich dieses Problem hatte, als ich einfachen Code heruntertippte, um den Perimeter und das Rechteck zu finden, um das Überschreiben der Methode in Java zu demonstrieren. Kann ich die Fläche (Länge * Breite) in derselben Unterklassenmethode zurückgeben?Wie kann ich einen Wert von einer überschriebenen Methode in der Oberklasse UND die Methode in der Unterklasse zurückgeben?
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));
}
}
Sie können nicht, und was Sie tun möchten, ergibt keinen Sinn. Warum erweitert sich 'Bereich' um den Umfang? Bereiche sind keine Perimeter. (Es ist auch Konvention für Klassennamen Pascal-Fall: 'Area',' Perimeter', 'OverrideShapes') –
Ja. Bereich kann möglicherweise Perimeter nicht erweitern. aber das Programm war nur um das Überschreiben von Methoden zu demonstrieren. Allerdings habe ich die Lösung gefunden. Vielen Dank! –