javaSE基础:extdens与implements同时使用的测试

  •  涉及多态的基础使用,向上向下转型
  • 涉及构造,局部,抽象方法使用
  • 涉及实列,局部,常量的使用
  • 涉及分支结构的使用
  • 涉及逻辑与赋值运算符的使用
  • 涉及import,Scanner类的使用
import java.util.Scanner;
public class Demo05 {
    /*
    * 定义一个a类继承一个b类,实现一个接口c类,涉及构造方法,计算表面积和体积
    *圆表面积公式:s=π*r²
    * 圆体积计算公式:s*h
    * */
    //main方法
    public static void main(String[] args){
        Scanner s1 = new Scanner(System.in);
        System.out.println("请选择计算类型:1,圆面积,2圆体积");
        int x2 = s1.nextInt();
        if(x2 == 1) {
            Yuan_3 y = new Yuan_2();
            //可以向下转型,多态,也可以重新创建,Yuan_2对象
            Yuan_2 y1 = (Yuan_2) y;
            //键盘扫描
            Scanner s = new Scanner(System.in);
            System.out.println("请输入圆面积的半径:");
            double a = s.nextDouble();
            //封装赋值
            y.setC(a);
            //打印,圆面积
            y1.fangFa01(a);
            //查看实列变量的赋值结果
            System.out.println("实列变量c的赋值结果:"+y.getC()+"==》"+"实列变量h的赋值结果:"+y.getH());
        }else if(x2 == 2){
            //可以向下转型,多态,也可以重新创建,Yuan_2对象
            Yuan_3 y2 =new Yuan_2();
            Yuan_2 y3 = (Yuan_2) y2;
            //扫描键盘
            System.out.println("请输入圆的高:");
            double a1 = s1.nextDouble();
            System.out.println("请输入圆面积:");
            double a2 = s1.nextDouble();
            //封装赋值
            y2.setH(a1);
            //打印,体积
            y3.fangFa02(a1,a2);
            //查看实列变量赋值结果
            System.out.println("实列变量c的赋值结果:"+y2.getC()+"==》"+"实列变量h的赋值结果:"+y2.getH());

        }else if(x2 != 2 && x2 != 1){
            System.out.println("您输入有误:请输入1或者2==》1,圆面积,2圆体积");
        }
            /*
            出了大括号就不认识了
            //查询封装实列变量的赋值结果
            Yuan_3 x =new Yuan_2();
            System.out.println("实列变量c的赋值结果:"+x.getC()+"实列变量h的赋值结果:"+x.getH());
            */

    }
}
class Yuan_2 extends Yuan_3 implements Yuan_4{
    //定义一个实列变量
    double f;
    //实现
    public void fangFa01(double c){
        double d = c;
        double e = PI*(c*d);
        f = e;
        System.out.println("圆的表面积计算结果:"+e);
    }
    public void fangFa02(double c,double h){
        double c1 = c;
        System.out.println("圆的体积计算结果:"+((c*c1)*PI)*h);
    }
}
abstract class Yuan_3{
    //常量
    static final double PI =3.14;
    //定义实列变量
    private double c;
    private double h;
    //get,set
    public void setC(double c) {
        this.c = c;
    }

    public void setH(double h) {
        this.h = h;
    }

    public double getC() {
        return c;
    }

    public double getH() {
        return h;
    }

    //无参
    public Yuan_3(){

    }
    //有参
    public Yuan_3(double c){
        this.c = c;
    }
    public Yuan_3(double c,double h){
        this.c = c;
        this.h = h;
    }
}
interface  Yuan_4{
    void fangFa01(double c);
    void fangFa02(double c ,double h);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值