Shape类:父类,抽象类

public abstract class Shape {
    private String name;//保存各个图形的名称
    
    public String getName() {
        return name;
    }

public void setName(String name) {
        this.name = name;
    }

abstract String display();//抽象方法显示图形信息
}
Circle类:圆类

public class Circle extends Shape{
    private double radius;//半径
    private double x;//圆心x坐标
    private double y;//圆心y坐标
    
    public Circle(double radius,double x,double y){
        this.radius=radius;
        this.x=x;
        this.y=y;
    }
    public double getRadius() {
        return radius;
    }
    public void setRadius(double radius) {
        this.radius = radius;
    }
    public double getX() {
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
    
    @Override
    String display() {//重写抽象方法,输出圆的信息
        // TODO Auto-generated method stub
        return getName()+"的半径为:"+getRadius();
    }

}

Rectangle类:矩形类

public class Rectangle extends Shape{
    private double width;//矩形的长
    public double getWidth() {
        return width;
    }
    public void setWidth(double width) {
        this.width = width;
    }
    public double getLength() {
        return length;
    }
    public void setLength(double length) {
        this.length = length;
    }
    private double length;//矩形的宽
    
    public Rectangle(double width,double length){
        this.width=width;
        this.length=length;
    }
    @Override
    String display() {//重写抽象方法,输出信息
        // TODO Auto-generated method stub
        return getName()+"的长为:"+getWidth()+",宽为:"+getWidth();
    } 
}

Square类:正方形类

public class Square extends Shape{
    private double length;//正方形边长
  
    public double getLength() {
        return length;
    }
    public void setLength(double length) {
        this.length = length;
    }
    
    public Square(double length){
        this.length=length;
    }
    @Override
    String display() {//重写抽象方法,输出信息
        // TODO Auto-generated method stub
        return getName()+"的边长为:"+getLength();
    }
    
}

Testshape类:测试类

public class TestShape {
    public static Shape getShape(int i){//题目要求的getShape方法,返回值是类,返回值的类型和i有关
        Shape s1 = new Circle(1,0,0);
        Shape s2 = new Rectangle(3,2);
        Shape s3 = new Square(2);
        if(i==0){
            s1.setName("圆");
            return s1;
        }
        else if(i==1){
            s2.setName("矩形");
            return s2;
        }
        else if(i==2){
            s3.setName("正方形");
            return s3;
        }
        else             //else if最后一定要有else吗
            return null;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入i值(0~2):");
        int i=sc.nextInt();
        System.out.println(TestShape.getShape(i).display());//这里display实现多态
    }
}

转载于:https://my.oschina.net/u/3715020/blog/1572267

吉软-java-第八次作业相关推荐

  1. java求外接圆圆心_吉软_Java_第六次作业

    编写一个圆类Circle 要求: 1. 该类拥有两个属性: 1) Point p代表圆心 2) float radius代表半径 2. 构造方法 1) Circle() 2) Circle(Point ...

  2. 福大软工 · 第八次作业 课堂实战+后续部分

    团队信息 队名:火箭少男100 本次作业课上成员 短学号 名 本次作业博客链接 2507 俞辛(临时队长) https://www.cnblogs.com/multhree/p/9821080.htm ...

  3. 福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队)

    本次作业博客 团队信息 队名:起床一起肝活队 原组长: 白晨曦(101) 原组员: 李麒 (123) 陈德斌(104) 何裕捷(214) 黄培鑫(217) 王焕仁(233) 林志华(128) 乐忠豪( ...

  4. 2022/07/25 吉软 Java基础(10)面向对象——多态

    1.多态(动态绑定) 动态绑定是指在运⾏期间,判断所引⽤对象的实际类型,根据其实际的类型调⽤相应的⽅法,多态即:⼀个对象具有多种状态的⾏为. 1.1.多态的3个必要条件 要有继承 要有重写 父类的引用 ...

  5. 《Java技术》第八次作业

    <Java技术>第八次作业 (一)学习总结 1.用思维导图对本周的学习内容进行总结. 2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery() ...

  6. 吉大java考试题_吉大20春学期《JAVA程序设计》在线作业二-1(答案)

    答案来源:奥学网(www.aoxuewang.net)-[吉林大学]吉大20春学期<JAVA程序设计>在线作业二 试卷总分:100    得分:100 第1题,在 Java 中,所有类的根 ...

  7. 2016-2017-2 《Java程序设计》预备作业2总结

    2016-2017-2 <Java程序设计>预备作业2总结 古希腊学者普罗塔戈说过:「头脑不是一个要被填满的容器,而是一束需要被点燃的火把.」 在对计算机系的学生情况的调查中,我说: 最近 ...

  8. [北航软工]第二次团队作业

    [BUAA软工]第二次团队作业 Part 1 项目说明 1. 简介 项目名称:语音coding助手(暂定) 说明: 实现一个android app, 通过语音输入来写python代码,和android ...

  9. 20189200余超 2018-2019-2 移动平台应用开发实践第八周作业

    20189200余超 2018-2019-2 移动平台应用开发实践第八周作业 ListView 1.自定义BaseAdapter,然后绑定ListView的最简单例子 先看看我们要实现的效果图: 一个 ...

  10. 网络攻防实践 第八周作业

    MarkdownPad Document 第八周作业 第一部分 #教材学习 1.1Linux操作系统概述 ubuntu.debian.fedora.centos.rhel.opensuse和stack ...

最新文章

  1. 聚合复合_【专家视觉】聚合物接枝多壁碳纳米管及其聚氨酯复合材料
  2. 【Codevs1322】单词矩阵
  3. 这个帖子要收藏,以后用得着--python 实时获取子进程输出
  4. 【BZOJ】3575: [Hnoi2014]道路堵塞
  5. [转]把复杂事物简明化
  6. 操作系统原理-----进程同步与通信
  7. perl 语言中的q,qw,qr,qx,qq符号用法总结
  8. 草根站长胖子讲述做站故事
  9. php获取当前域名的方法 如何获得域名
  10. python教程五(imput和while)
  11. 乐鑫Esp32学习之旅 12 开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。(附带Demo)
  12. 计算机专业文书范文,美国留学文书技巧-美国计算机专业博士的申请个人陈述范文...
  13. 库克谈人工智能:增长飞快 兼具颠覆性和创造性
  14. 最大公约数用c语言表达,c语言求最大公约数(用c语言编写求最大公约数)
  15. 1052 Linked List Sorting (25 分)-PAT甲级
  16. HUAS Summer Trainning #3 M
  17. 抖音如何开通直播带货?抖音直播带货权限开通和直播带货选品小技巧分享!
  18. SAP 订单BOM与销售BOM的区别
  19. 招聘网站数百万条敏感数据泄露,简历、身份证扫描件统统曝光
  20. 20140228老沙的感觉

热门文章

  1. 如何进行服务器备份操作系统,如何进行服务器备份操作系统
  2. STM32寄存器配置USART1串口及USART->BRR值的计算
  3. 【Unity3D 灵巧小知识点】☀️ | Unity 四元数、欧拉角 与 方向向量 之间转换
  4. 第六十七篇:opencv中KeyPoint与point2f之间相互转换
  5. python编程遵循哪些规律_编程语言软件开发10个小技巧,Java、python、前端等都遵循此规律,108G资料放送中!...
  6. Python到pyspark中的py-files的问题
  7. 怎么在HTML中加入热区,关于网页点击热区图
  8. ARM及ZigBee技术实现智能家居控制器的设计
  9. 英特尔新处理器i7-8559U在3DMark数据库中现身
  10. 标准C库函数之perror()、strerror(),以及他们之间各种的优缺点(打印错误信息)