分别实现Shape、Circle、Square的定义,其中Shape为抽象类;
abstract class Shape{
public abstract double getArea();
double r;
}
class Circle extends Shape{
Circle(double r){
this.r=r;
}
public double getArea(){
return 3.14*r*r;
}
}
class Square extends Shape{
Square(double r){
this.r=r;
}
public double getArea(){
return r*r;
}
}
class ShapeTest1{
public static void main(String args[]){
Shape [] shapes={
new Circle(3),
new Square(3),
};
double total=0;
for(Shape shape:shapes)
total+=shape.getArea();
System.out.printf("The total area of all shapes:%8.2f",total);
}
}
分别实现Shape、Circle、Square的定义,其中Shape为接口;
interface Shape{
public double getArea();
}
class Circle implements Shape{
double r;
Circle(double r){
this.r=r;
}
public double getArea(){
return 3.14*r*r;
}
}
class Square implements Shape{
double r;
Square(double r){
this.r=r;
}
public double getArea(){
return r*r;
}
}
class ShapeTest2{
public static void main(String args[]){
Shape [] shapes={
new Circle(4),
new Square(4),
};
double total=0;
for(Shape shape:shapes)
total+=shape.getArea();
System.out.printf("The total area of all shapes:%8.2f",total);
}
}