飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用)

转载 2018年04月17日 20:57:37

题目:

  编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract@Override等语法要素,并写一个main函数来使用它们。这些类、接口可以是围绕以下选题之一

飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用);

动物世界:来一次吃西瓜大赛;

图书馆:模拟一天的借阅过程;

学校:模拟选课过程;

等等

要求写个简要说明。


接口:

public interface flyable {
	double FLYLENGTH=100.0;
	void takeoff();
	void fly();
	void land();
}

Animal类

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;
	}
	public void sayhello() {
		System.out.println("hello!");
	}
	Animal(){}
	public Animal(int speed,String sex) {
		this.speed=speed;
		this.sex=sex;
	}
}

Vehicle类

abstract class Vehicle {
	private int speed;
	private int price;
	public int getspeed() {
		return speed;
	}
	public int getprice() {
		return price;
	}
	public void setspeed(int sp) {
		speed=sp;
	}
	Vehicle(){}
		public Vehicle(int speed,int price) {
			this.speed=speed;//解决局部变量与与变量同名的问题,访问局部变量
			this.price=price;
		}
	}

子类1:

public class kazi extends Animal implements flyable {
	int age;
	@Override
	public void takeoff() {
		System.out.println("kazi is takeoff!");

	}
	@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 is land");
	}
	@Override
	public void sayhello() {
		System.out.println("hello! I'm kazi");
	}
	void intro() {
		System.out.printf("age:%d, sex:%s",age,getsex());
	}
	kazi(){
		super(100,"no need");
		age=18;
	}
}

子类2:

public class Bird extends Animal implements flyable {
	int age;
	@Override
	public void takeoff() {
		System.out.println("Bird is takeoff");
	}
	@Override
	public void fly() {
		int birdspeed=getspeed();
		System.out.printf("Bird fly %.2f seconds in a speed of %3d", FLYLENGTH/birdspeed,birdspeed);
	}
	@Override
	public void land() {
		System.out.println("Bird is land");
	}
	@Override
	public void sayhello() {
		System.out.println("hello! I'm Bird");
	}
	void intro() {
		System.out.printf("age:%d, sex:%s",age,getsex());
	}
	Bird(){
		super(200,"man");
		age=5;
	}
}

Vehicle的子类:

public class plane extends Vehicle implements flyable{
	@Override
	public void takeoff() {
		System.out.println("plane is takeoff");
	}
	@Override
	public void fly() {
		int planespeed=getspeed();
		int planeprice=getprice();
		System.out.printf("plane's speed is %3d,price is %ld", planespeed,planeprice);
	}
	@Override
	public void land() {
		System.out.println("plane is land");
	}
	plane(){
		super(400,20000000);
		
	}
}

主类:

import java.util.List;
import java.util.ArrayList;

public class flying{
	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) {//增强for语句
			if(ani instanceof kazi) {
				
				((kazi) ani).sayhello();
				((kazi) ani).intro();
			}
			ani.takeoff();
			ani.fly();
			ani.land();
		}
	}
}
代码都是我抄来的,心好累,里面的方法,关键字也不是很会用,有时间回来修改

飞翔接力等

互评时一些好程序的记录 编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,...
  • qq_36950065
  • qq_36950065
  • 2017-04-05 22:58:01
  • 828

飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用)

题目:  编写一个小的程序,其中定义一些接口、类、抽象类,定义它们的成员(字段及方法), 要求使用使用setter/getter, static, final, abstract,@Override等...
  • qq_38362772
  • qq_38362772
  • 2018-04-17 20:57:37
  • 10

博客飞翔

我是网络流星,飞歌而前行,过去是我划过的痕迹--未来不变的依然是我自己!朋友们,还记得我么?伴你飞歌而前行。。。搬家了,就如创建自己的独立的空间和重拾人生坚定执著自信追求和向往希望的小屋一样,来到了这...
  • freefly2078
  • freefly2078
  • 2007-05-26 21:14:00
  • 381

java类与接口练习

java类与接口练习--coursera java 课程作业   1、注意代码应该使用题目中所要求的语法要素;2、注意良好的代码风格;3、注意提交整个project,上传压缩后的附件,互评时可被成...
  • Anne999
  • Anne999
  • 2017-03-24 10:29:19
  • 697

飞翔的小鸟JAVA源代码

  • 2015年01月22日 17:44
  • 123KB
  • 下载

新版飞翔源码搭建分享带数据库+界面大气+全开源可二次开发下载

使用VS 自带的打包工具,制作winform安装项目     开发环境:VS 2008 Access    操作系统:Windows XP    开发语言:C#    项目名称:飞翔管理系统 步骤: ...
  • sinat_41870985
  • sinat_41870985
  • 2018-03-20 16:35:30
  • 22

为梦飞翔

此篇文章写于2011年4月11日,今日特此公布与此! 高中高傲的自己,“马前失蹄”,片刻的悲伤之后,于是背负着太多太多重新登程。大学其实在迷茫中挣扎度过,自己都不清楚到底究竟何去何从,出国?...
  • u013011270
  • u013011270
  • 2014-03-05 17:26:26
  • 731

飞翔增值税票据管理系统破解版

  • 2015年10月31日 12:34
  • 13.89MB
  • 下载

雪飞翔造价软件

  • 2012年12月12日 14:40
  • 685KB
  • 下载

飞翔的内存详解

Linux内存使用详解 ...
  • vip_zhouch
  • vip_zhouch
  • 2008-01-27 16:19:00
  • 193
收藏助手
不良信息举报
您举报文章:飞翔世界:来一次飞翔接力(即多个可飞翔的对象依次调用)
举报原因:
原因补充:

(最多只允许输入30个字)