Java 派生类

Description
先定义一个圆类Circle,有double类型的半径属性,有带参数的构造函数和求面积的computeArea方法(为保护型的,返回值为面积,圆周率取3.14);
然后定义一个从Circle派生的圆柱类Cylinder,增加double类型的高属性,有带参数的构造函数以及一个计算圆柱体积的成员函数,此函数中要用到从父类继承来的求面积方法。实现并测试这个类,在main()函数中读入数据, 然后输出体积。
要求主函数中必须调用Cylinder的构造函数语句。
Input
第一行输入数据的组数N,
然后有N组数据。每组数据由两个整型数组成,一个是半径,一个是高,数据之间以空格分隔。
Output
输出圆柱体积(保留2位有效数字)。
Sample Input
2
10 10
20 5
Sample Output

3140.00
6280.00


派生类定义:

class 父类名

{

注意父类中定义的变量要用protected

}

class  子类名  extends  父类名

{

...

}

............................................................................................................................................................

import java.util.*;
class Circle
{
	protected double radius;
	public Circle(){}
	public Circle (double radius)
	{
		this.radius=radius;
	}
}
class Cylinder extends Circle
{
	private double height;
	
	public Cylinder(){}
	public Cylinder(double radius,double height)  //继承父类的域并初始化;
	{
		this.radius=radius;
		this.height=height;
	}
	public double computeArea(double radius)
	{
		return 3.14*radius*radius;
	}
	public double computeV(double radius,double height)
	{
		return computeArea(radius)*height;
	}
}
public class Main {
	public static void main(String args[]){
	double r,h;
	int t,i;
	Scanner cin = new Scanner(System.in);
	while(cin.hasNext()){
		t=cin.nextInt();
		for(i=0;i<t;i++)
		{
			r=cin.nextDouble();
			h=cin.nextDouble();
			Cylinder s=new Cylinder(r,h);
			System.out.printf("%.2f\n",s.computeV(r, h));
		}
	}
}
}
测试数据:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章