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
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,关于Java实验继承多态,我可以为您提供一些基本的知识点和例子。 在Java中,继承是一种重要的面向对象编程概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。子类可以使用父类中的属性和方法,也可以添加自己的属性和方法。多态是指同一种类型的对象,在不同的情况下会表现出不同的行为。在Java中,多态可以通过方法重载和方法重写来实现。 下面是一个简单的例子,演示了如何使用继承多态: ``` // 定义一个动物类 class Animal { public void makeSound() { System.out.println("动物发出声音"); } } // 定义一个狗类,继承自动物类 class Dog extends Animal { @Override public void makeSound() { System.out.println("狗发出汪汪声"); } } // 定义一个猫类,继承自动物类 class Cat extends Animal { @Override public void makeSound() { System.out.println("猫发出喵喵声"); } } // 测试多态 public class Test { public static void main(String[] args) { Animal animal1 = new Dog(); Animal animal2 = new Cat(); animal1.makeSound(); // 输出:狗发出汪汪声 animal2.makeSound(); // 输出:猫发出喵喵声 } } ``` 在上面的例子中,我们定义了一个Animal类,它有一个makeSound()方法。然后我们定义了一个Dog类和一个Cat类,它们都继承自Animal类,并重写了makeSound()方法。最后,在测试类中,我们创建了一个Animal类型的变量animal1和animal2,分别指向Dog对象和Cat对象。由于多态的特性,animal1和animal2都可以调用makeSound()方法,但是它们实际上调用的是Dog类和Cat类中重写的makeSound()方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值