飞翔接力等
来源:互联网 发布:剑灵saber捏脸数据 编辑:程序博客网 时间:2024/04/30 15:30
互评时一些好程序的记录
编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一
飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);
动物世界:来一次吃西瓜大赛;
图书馆:模拟一天的借阅过程;
学校:模拟选课过程;
等等
要求写个简要说明。
import java.util.*;interface Flyable { double FLYLENGTH = 100.0; // 飞翔距离 void takeoff(); void fly(); void land();}abstract class Animal { private int speed; private String sex; public int getSpeed() { return speed; } public void setSpeed(int sp) { speed = sp; } public String getSex() { return sex; } void sayHello() { System.out.println("Hello"); } Animal() {} public Animal(int sp, String s) { this.speed = sp; this.sex = s; }}abstract class Vehicle { private int speed; private int price; public int getSpeed() { return speed; } public void setSpeed(int sp) { speed = sp; } Vehicle() {} public Vehicle(int speed, int price) { this.speed = speed; this.price = price; }}class Kazi extends Animal implements Flyable { int age; @Override public void takeoff() { System.out.println("Kazi take off"); } @Override public void fly() { int kazispeed = getSpeed(); System.out.printf("Kazi fly %.2f seconds at a speed of %3d\n", FLYLENGTH / kazispeed, kazispeed); } @Override public void land() { System.out.println("Kazi land\n"); } @Override void sayHello() { System.out.printf("Kazi: This is sun.\n"); } void intro() { System.out.printf(" age: %d, sex: %s\n", age, getSex()); } Kazi() { super(100, "no need"); age = 10000; }}class Bird extends Animal implements Flyable { @Override public void takeoff() { System.out.println("bird take off"); } @Override public void fly() { int birdspeed = getSpeed(); System.out.printf("bird fly %.2f seconds at a speed of %3d\n", FLYLENGTH / birdspeed, birdspeed); } @Override public void land() { System.out.println("bird land\n"); }}class Plane extends Vehicle implements Flyable { @Override public void takeoff() { System.out.println("plane take off"); } @Override public void fly() { int planespeed = getSpeed(); System.out.printf("plane fly %.2f seconds at a speed of %3d\n", FLYLENGTH / planespeed, planespeed); } @Override public void land() { System.out.println("plane land\n"); }}public class FeiXiang { public static void main(String[] args) { List<Flyable> Anlist = new ArrayList<>(); for (int i=0; i<2; ++i) { Kazi kazi0 = new Kazi(); kazi0.setSpeed((int)(Math.random()*20)); Anlist.add(kazi0); Bird bird0 = new Bird(); bird0.setSpeed(5); Anlist.add(bird0); Plane plane0 = new Plane(); plane0.setSpeed(20); Anlist.add(plane0); } /* 飞翔接力 */ for (Flyable ani : Anlist) { if (ani instanceof Kazi) { ((Kazi) ani).sayHello(); ((Kazi) ani).intro(); } ani.takeoff(); ani.fly(); ani.land(); } }}
0 0
- 飞翔接力等
- 接力
- 飞翔
- 飞翔
- 飞翔
- 飞翔
- 飞翔
- 幸福接力幸福接力
- 幸福接力
- 古诗接力
- 古诗接力
- 古诗接力
- 古诗接力
- 奶牛接力
- 传球接力
- 传球接力
- 传球接力
- 测试接力
- 巴伦
- CodeForces-761A-Dasha and Stairs [水题]
- java 用redis如何处理电商平台,秒杀、抢购超卖
- java 用redis如何处理电商平台,秒杀、抢购超卖
- 递归递推练习―H―三国佚事——巴蜀之危
- 飞翔接力等
- 剑指offer27:二叉搜索树与双向链表
- find 命令简单总结(1)
- Java学习笔记(三)--方法重载 数组 匿名对象
- git版本管理命令行整理
- 凌乱的yyy
- react-native开发踩坑之 ios上react-native-vector-icons 的error:unRecognized font family 'FontAwesome'
- 6. Java NIO系列之非阻塞式操作
- 软件工程各阶段的UML图