-1
如何改進程序實現?當使用引用類型作爲實現類的接口和實例類型進行測試時,程序失敗。專注於創建具有不同引用類型和實例類型的對象。使用不同的引用類型和實例類型創建對象
package com;
interface Shape {
public abstract double getArea(double d);
}
public class TestCircle {
public static void main(String[] args) {
Circle s = new Circle();
System.out.println(s.getArea(5));
System.out.println(calculateArea(s,5));
Shape s1 = new Square();
System.out.println(calculateArea(s1,5));
}
public static double calculateArea(Shape s, double d){
if(s==null) return 0.0;
return s.getArea(d);
}
}
class Circle implements Shape{
public double getArea(double d){
if(d<0) return 0.0;
return d*d*(22.0/7);
}
}
class Square implements Shape{
public double getArea(double d){
//if(d<0) return 0.0;
return d*d;
}
}
程序失敗的方式是什麼? – Eran
「程序失敗」?什麼是失敗?可能是你想要的:'最終Shape s = new Circle();' – SuperSaiyan
「使用不同的引用類型和實例類型創建一個對象」是無稽之談。它應該是「聲明一個給定類型的變量並用一個子類型的實例初始化它」。 (我意識到你剛從作業中複製粘貼,所以這不是你的錯,但仍然......) – ruakh