//class Sh.java
public abstract class Sh
{
{
System.out.println("doing 初始化块");
}
private String color;
public abstract double zhouchang();
public abstract String xingzhuang();
public Sh(String color)
{
this.color=color;
}
}
//Triangle.java
public class Triangle extends Sh
{
private double a,b,c;
public Triangle(String color,double a,double b,double c)
{
super(color);
this.setSides(a,b,c);
}
public void setSides(double a,double b, double c)
{
if(a<b+c&&b<a+c&&c<a+b)
{
this.a=a;
this.b=b;
this.c=c;
}
else
return;
}
public String xingzhuang()
{
return "Triangle";
}
public double zhouchang()
{
return a+b+c;
}
}
//Circle.java
import static java.lang.System.*;
public class Circle extends Sh
{
private double r;
public Circle(String color,double r)
{
super(color);
this.r=r;
}
public String xingzhuang()
{
return"Cirlce";
}
public double zhouchang()
{
return 3.14*2*r;
}
public static void main(String[] args)
{
Sh p1=new Triangle("yellow",6,8,10);
Sh p2=new Circle("red",1);
out.println("p1's xiangzhuang is "+p1.xingzhuang()+" "+
"p1's zhouchang is "+p1.zhouchang());
out.println("p2's xiangzhuang is "+p2.xingzhuang()+" "+
"p2's zhouchang is "+p2.zhouchang());
}
}