(1)编写一个圆类Circle,该类拥有:
①一个成员变量
Radius(私有,浮点型); // 存放圆的半径;
②两个构造方法
Circle( ) // 将半径设为0
Circle(double r ) //创建Circle对象时将半径初始化为r
③ 三个成员方法
double getArea( ) //获取圆的面积
double getPerimeter( ) //获取圆的周长
void show( ) //将圆的半径、周长、面积输出到屏幕
(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
①一个成员变量
double hight(私有,浮点型); // 圆柱体的高;
②构造方法
Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r
③ 成员方法
double getVolume( ) //获取圆柱体的体积
void showVolume( ) //将圆柱体的体积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。
package test;
/**
* Created by tudou on 2020/4/11.
*/
public class test {//一个class文件中可以有多个class,但是只能有一个主类,该主类的名称须和文件名一致,且
public static void main(String[] args) {
Circle test = new Circle();
Cylinder zhu = new Cylinder(1,2);
zhu.showVolume();
// test.setRadius(2);
// test.show();
}
}
class Circle {//其他的类,不能为public
//①一个成员变量
//成员变量是指方法外,类内部的变量
private double Radius;//私有,浮点型,存放圆的半径;
//②两个构造方法
//此方法为无参构造方法
//如果该类有子类的话,则必须要有一个无参构造方法,因为当new子类对象时会自动调用父类的无参构造方法
Circle() {//将半径设为0
Radius = 0.0;
}
Circle(double r) {//创建Cirecle对象时将半径初始化为r
Radius = r;
}
double getRadius() {
return Radius;
}
void setRadius(double radius) {
//this代表当前的对象,这里用this.Radius,主要是用来与方法中的double radius作区分(因为很多时候是叫double adius)
// 此处Radius和radius没有重名,实际可以写成Radius = radius
this.Radius = radius;
}
//③三个成员方法
double getArea() {//获取圆的面积
return Radius * Radius * Math.PI;
}
double getPerimeter() {//获取圆的周长
return 2 * Radius * Math.PI;
}
void show() {//将圆的半径、周长、面积输出到屏幕
System.out.println("圆的半径为:" + this.Radius);//快捷键:先输入sout,再按Tab键
System.out.println("圆的周长为:" + getPerimeter());
System.out.println("圆的面积为:" + getArea());
}
}
class Cylinder extends Circle {
private double hight;//圆柱体的高
private Circle circle;
public Cylinder(double r,double h){
super(r);
hight = h;
}
public double getVolume(){
return getArea()*hight;
}
public void showVolume(){
System.out.println("圆柱体的体积:"+getVolume());
}
}