天天看点

泛型与集合

代码如下:

package 计算体积_泛型;

class Cone<E>{
	double height;
	E bottom;               //用泛型类E声明对象bottom;
	public Cone (E b){
		bottom = b;
	}
	public void setHeight(double h){
		height = h;
	}
	public double computerVolume(){
		String s = bottom.toString();          //泛型变量只能调用从Objict继承或重写的方法。
		double area = Double.parseDouble(s);
		return 1.0/3.0*area*height;
	}
}

class Rect{
	double sideA,sideB,area;
	Rect(double a,double b){
		sideA = a;
		sideB = b;
	}
	public String toString (){
		area = sideA*sideB;
		return ""+area;
	}
}
  
class Circle{
	double area,radius;
	Circle(double r){
		radius = r;
	}
	public String toString (){
		area = radius*radius*Math.PI;
		return ""+area;
	}
}

public class Example_1 {
	public static void main(String []args){
		Circle circle = new Circle(10);
		Cone<Circle> coneOne = new Cone<Circle>(circle);             //创建一个圆锥对象。
		coneOne.setHeight(16);
		System.out.println(coneOne.computerVolume());
		
		
		Rect rect = new Rect(15,23);
		Cone<Circle> coneTwo = new Cone<Circle>(circle);            //创建一个方锥对象。
		coneTwo.setHeight(98);
		System.out.println(coneTwo.computerVolume());
	}

}