博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
子类会继承父类对于接口的实现
阅读量:5221 次
发布时间:2019-06-14

本文共 2672 字,大约阅读时间需要 8 分钟。

 项目截图:

 

实现代码:

1 package exercise2; 2  3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6  7 interface CircleShape { 8     double PI = 3.14159; 9 10     double area(double radius);11 }12 13 class Circle implements CircleShape {14     int radius;15 16     public Circle(int r) {17         radius = r;18     }19 20     public double perimeter() {21         return (2 * PI * radius);22     }23 24     @Override25     public double area(double radius) {26         return (PI * radius * radius);27     }28 }29 30 class Cylinder extends Circle implements CircleShape {
// 子类会继承父类对于接口的实现31 int heigh;32 int radius;33 34 public Cylinder(int r, int h) {35 super(r);36 heigh = h;37 }38 39 public double baseAera(double radius) {40 return area(radius);41 }42 43 public double area1(double radius) {44 return (heigh * super.perimeter() + 2 * area(radius));45 }46 47 public double volume(double radius) {48 return (heigh * area(radius));49 }50 }51 52 public class Ex13_2 {53 public static void main(String[] args) throws IOException {54 int r1, r2;55 String t;56 System.out.println("请输入圆cir1和cir2的半径r1,r2");57 BufferedReader scan = new BufferedReader(new InputStreamReader(58 System.in));59 t = scan.readLine();60 r1 = Integer.parseInt(t);61 t = scan.readLine();62 r2 = Integer.parseInt(t);63 Circle cir1 = new Circle(r1);64 Circle cir2 = new Circle(r2);65 System.out.println("圆cir1的面积是" + cir1.area(r1) + "\t周长是:"66 + cir1.perimeter());67 System.out.println("圆cir2的面积是" + cir1.area(r2) + "\t周长是:"68 + cir2.perimeter());69 int h1, h2;70 System.out.println("请输入圆柱cy1的半径和高:");71 t = scan.readLine();72 r1 = Integer.parseInt(t);73 t = scan.readLine();74 h1 = Integer.parseInt(t);75 Cylinder cy1 = new Cylinder(r1, h1);76 System.out.println("cy1的底圆面积是:" + cy1.baseAera(r1));77 System.out.println("cy1的体积是:" + cy1.volume(r1) + "\t表面积是:"78 + cy1.area1(r1));79 80 System.out.println("请输入圆柱cy2的半径和高:");81 t = scan.readLine();82 r2 = Integer.parseInt(t);83 t = scan.readLine();84 h2 = Integer.parseInt(t);85 Cylinder cy2 = new Cylinder(r2, h2);86 System.out.println("cy2的底圆面积是:" + cy2.baseAera(r1));87 System.out.println("cy2的体积是:" + cy2.volume(r1) + "\t表面积是:"88 + cy2.area1(r2));89 }90 91 }

 

转载于:https://www.cnblogs.com/liuyaozhi/p/5796240.html

你可能感兴趣的文章
【原创】大数据基础之Zookeeper(4)应用场景
查看>>
静态变量数组实现LRU算法
查看>>
中文系统 上传file的input显示英文
查看>>
比callback更简洁的链式执行promise
查看>>
android permission
查看>>
【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
查看>>
事务备份还原分离附加
查看>>
.net 文本框只允许输入XX,(正则表达式)
查看>>
[BSGS][哈希]luogu P3846 可爱的质数
查看>>
Python 第四十五章 MySQL 内容回顾
查看>>
iostat参数说明
查看>>
Python-Mac 安装 PyQt4
查看>>
实验2-2
查看>>
String,StringBuffer与StringBuilder的区别?? .
查看>>
MongoDB遇到的疑似数据丢失的问题。不要用InsertMany!
查看>>
JQuery 学习
查看>>
session token两种登陆方式
查看>>
IntelliJ IDEA 12集成Tomcat 运行Web项目
查看>>
android smack MultiUserChat.getHostedRooms( NullPointerException)
查看>>
实用的VMware虚拟机使用技巧十一例
查看>>