一、实验目的
(1)掌握类的继承方法;
(2)变量的继承和覆盖,方法的继承、重载和覆盖实现;
二、实验内容
1)实验代码
import java.util.Scanner;
public class Circle{
private static double radius;
private double perimeter;
private double area;
public Circle(){
this.setRadius(0);
}
public Circle(double r) {
this.setRadius(r);
}
public void setRadius(double radius) {
this.radius=radius;
}
public static double getRadius() {
return radius;
}
public void setPerimeter(double perimeter) {
this.perimeter=perimeter;
}
public double getPerimeter(){
return getRadius()*2*Math.PI;
}
public void setArea(double area) {
this.area=area;
}
public double getArea() {
return getRadius()*getRadius()*Math.PI;
}
public void disp() {
System.out.println("圆的半径为:"+getRadius());
System.out.println("圆的周长为:"+getPerimeter());
System.out.println("圆的面积为:"+getArea());
}
static class Cylinder extends Circle{
private double height;
public Cylinder(double r,double h) {
this.setRadius(r);
this.setHeight(h);
}
private void setHeight(double height) {
this.height=height;
}
public double getHeight() {
return height;
}
public double getVol() {
return getRadius()*getRadius()*Math.PI*getHeight();
}
public void dispVol() {
System.out.println("圆柱体的体积:"+getVol());
}
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入半径:");
double r=s.nextInt();
System.out.println("请输入高:");
double h=s.nextInt();
Cylinder s1=new Cylinder(r,h);
s1.disp();
s1.dispVol();
}
}
}
2)实验结果截图
原文:https://www.cnblogs.com/tzmad/p/11608922.html