java中类的继承性和多态性实例
2015-12-04 12:45
477 查看
题目描述:
编写一个程序(Fruit.java),其中有三个类:Fruit,Orange、Apple,其中,Orange、Apple是Fruit的子类:
(1)类Fruit有eat()和main()(入口函数)两个方法,没有数据域,其中eat()中用this.getClass()显示当前对象的类名。 main()中随机生成这三种对象(用for和switch语句),共生成20个(把20定义为常量)对象,并用Fruit数组存放,然后用foreach循环对所有这些对象执行eat。
(2)类Orange有一个方法eat,没有数据域,其中,eat()显示" The orange tastes a little sour"。
(3)类Apple没有数据域和方法。
提示: 随机数产生方法
import java.util.Random;
Random rnd=new Random(50); //
局部变量rnd初始化50为种子
intn= rnd.nextInt(100); //返回0~99之间的随机数
参考输出:
代码:
运行结果截图:
编写一个程序(Fruit.java),其中有三个类:Fruit,Orange、Apple,其中,Orange、Apple是Fruit的子类:
(1)类Fruit有eat()和main()(入口函数)两个方法,没有数据域,其中eat()中用this.getClass()显示当前对象的类名。 main()中随机生成这三种对象(用for和switch语句),共生成20个(把20定义为常量)对象,并用Fruit数组存放,然后用foreach循环对所有这些对象执行eat。
(2)类Orange有一个方法eat,没有数据域,其中,eat()显示" The orange tastes a little sour"。
(3)类Apple没有数据域和方法。
提示: 随机数产生方法
import java.util.Random;
Random rnd=new Random(50); //
局部变量rnd初始化50为种子
intn= rnd.nextInt(100); //返回0~99之间的随机数
参考输出:
代码:
import java.util.*; import java.util.Random; class Fruit{ public void eat() { System.out.println("Eat " + this.getClass()); } public static void main(String[] args){ final int end = 20; Fruit fruits[] = new Fruit[end]; //产生种子:注意要用当前时间做种子才能产生变化的随机数,不然每次是固定的一个数! Random rnd= new Random(System.currentTimeMillis()); for(int i=0;i < end;i++) { int n= rnd.nextInt(3); //产生0~2之间的随机数 switch(n) { case 0: fruits[i] = new Fruit(); break; case 1: fruits[i] = new Orange(); break; case 2: fruits[i] = new Apple(); break; default: break; } } for(Fruit f:fruits) { f.eat(); } } } class Orange extends Fruit{ //@override public void eat() { System.out.println("The orange tastes a little sour"); } } class Apple extends Fruit{ }
运行结果截图:
相关文章推荐
- 【Java 常用算法】冒泡排序
- java寻找html文件中的标签
- Spring security安全认证框架
- java 深入技术四(Set)
- java统计中文字符出现次数
- java 试题java编译问题
- java实现斐波那序列
- Spring编程式事务管理和声明式事务管理
- eclipse黑色炫酷主题设置1
- 实现使用3des在页面js加密,后台java解密
- ecplise 查看源码
- java.lang.OutOfMemoryError: PermGen space JVM内存参数配置
- Java 中的堆和对象的区别
- Spring+Springmvc+MyBatis整合
- 安卓 与java后台 的接口测试
- java 中hashmap详解
- 【Java 常用算法】选择排序
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(五)
- 为什么javaweb开发我们会使用Struts2、springMVC和spring这样的框架?
- 关于java枚举