Java实验5继承和多态

这篇博客探讨了Java中的继承和多态概念。通过设计数据类型判断类Polymorphism,实现表达式结果的数据类型判断。此外,还创建了一个链表节点类LinkNode,用于存放多种数据类型的元素,并展示了如何生成和排序链表。进一步,博主通过实例演示了如何利用继承和重写toString()方法,以及如何设计动物类层次结构,体现多态特性。文章最后通过模拟动物会议,展示了不同动物类别的特性和行为,加深了对Java继承和多态的理解。
摘要由CSDN通过智能技术生成

目的:

理解继承与多态的概念,熟练掌握使用方法

 

1、 设计一个数据类型判断类Polymorphism,使用重载、装箱等技术判断一个不带等号的Java表达式的结果的数据类型。

2、 设计一个链表结点类LinkNode,此类可以存放int、long、float、double、byte、short、String、StringBuffer类型的数据。用此类:a、随机产生100个整数(范围自定)的链表,在生成的过程中从小到大排列,然后输出;b、随机产生100个6个英文字母的单词的链表,在生成的过程中从小到大排列,然后输出。(关注装箱和拆箱相关概念)

3、 A、在main()中使用LinkNode类创建4个实例,并赋予不同的值(long、double、      StringBuffer、MyDate),然后使用Object中默认的toString()方法(从超级父类继承而来)  显示结果。

B、继承LinkNode类创建新类LinkNodeS,在其中重写Object中默认的toString()方法(将结点的value转换成对应的字符串),main()中用LinkNodeS类同样创建4个实例,并赋予和上面同样的值(long、double、StringBuffer、MyDate),观察使用新的toString()方法的效果,体会继承与多态。(MyDate的日期toString用标准格式)

4、有来自4类(鸟类、昆虫类、爬行类和鱼类)的100个动物聚在一起开会,商议和另一个动物部落打仗事宜,会议要求每个动物都要报告自己所属的动物类别和自己的天赋,以便选拔人才、组织兵力迎战。

设计:用Animal作为基类,鸟类、昆虫类、爬行类和鱼类各作为Animal的子类设计类层次结构,设计时运用继承、重写并设计多态机制,同时对每个子类至少要添加一个其描述的动物特有的行为和一个特有的属性,以更准确地描述子类对象。

使用:用循环随机生成这100个动物装入动物数组,要对每个动物进行编号和随机命名,用循环让每个参会的动物报告自己的类别和天赋。

Animal内容如下:

       Class Animal

       {

      public int id;  //编号

      public String name;//名字

      //public String type; //类别:鸟类、昆虫类、爬行类和鱼类之一

     

      public void showType()//在console上秀自己的类别

      {

       System.out.println(“My ID is “+id+” and Iam just an animal, my type is going to be determined later.”);

}

      public void showTalent()//在console上秀自己的天赋特长

      {

       System.out.println(“I don’t know what Iam talented at.”);

}

}

(请认真观察和体会Java的继承和多态)

 


import java.text.SimpleDateFormat;


public class TestFive {
	public static void main(String[] args) {

		polyTest();
		
		//随即生成100个随机数,排序输出。
		sortNumber(100,1000);
		
		sortWords(100);
		
		changeToString();
		
		animalFight();
	}
	
	public static void polyTest()
	{
		Polymorphism poly = new Polymorphism();
		System.out.println(poly.getType(1+1.0));
		System.out.println(poly.getTyp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值