实验十三 多态.docVIP

  • 17
  • 0
  • 约1.46千字
  • 约 4页
  • 2022-02-09 发布于四川
  • 举报
实验十三 多态 一.实验目的: 1.进一步理解上转型对象的含义。 2.进一步理解类的多态性的含义。 3.方法重载与覆盖的用法 二.实验内容: 1. 编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。 源程序: 2.定义一个类,类中有计算体积的两个同名方法,分别可计算圆柱体体积与长方体体积,举例验证程序。(TestV.java) 源程序: 3.编码创建一个手机类Phones,定义打电话方法call()。创建两个子类:苹果手机类IPhone和安卓手机类APhome,并在各自类中重写方法call(),编写程序入口main()方法中实现两种手机打电话。 源程序: 4.阅读下面程序的程序,分析输出结果,并上机验证。 (1)程序1:   class A{      void callme( ) {       System.out.println(Inside As callme()method);      }   }   class B extends A{      void callme( ) {       System.out.println(Inside Bs callme() Method);      }   }   public class Dispatch{      public static void main(String args[]) {       A a=new B();       a.callme( );      }   } 上面程序的输出结果: (2)程序2: class AA{ double x=1.1; double method(){ return x; } } class BB extends AA{ double x=2.2; double method(){ return x; } } 类AA和类BB是什么关系? 类AA和类BB中都定义了变量x和method()方法,这种情况称为什么? 3) 若定义AA a=new BB(); 则a.x和a.method()的值是什么? (3)程序3: class AA{ public AA(){ System.out.println(AA); } public AA(int i){ this(); System.out.println(AAAA); } public static void main(String args[]){ BB b=new BB(); } } class BB extends AA{ public BB(){ super(); System.out.println(BB); } public BB(int i){ super(i); System.out.println(BBBB); } } 上面程序的输出结果是什么? 2)若将main()方法中的语句改为:B b=new B(10); 程序输出的结果是什么? 5.什么是多态?多态包含哪两种类型? 三.实验要求: 1.事先预习,准备好预习报告 2.实验后写出实验报告。

文档评论(0)

1亿VIP精品文档

相关文档