实验报告【实验名称】 第四章 接口和多态 【实验目的】1.学习 Java 中抽象类的概念2.学习接口的概念3.学习面对抽象的编程以及面对接口的编程【实验原理】1.Java 程序设计基本原理2.面对对象程序设计基本原理【实验内容】一、 结合本次课程,简答:1、什么是上转型对象?调用子类方法原则?将子类赋给父类时,称父类为子类的上转型对象。方法原则:只能调用子类继承和重写的方法,不能调用子类中新的方法。2、父类创建的对象和其子类的上转型对象异同?相同点:都可以对父类里的方法进行调用.不同点:上转型对象调用的父类方法只能是子类重写之后的,而父类创建的对象调用的是自身定义的.3、为什么引入抽象类和抽象方法?抽象类只关怀操作,不关怀操作具体实现细节,可以使程序员把精力集中在程序的设计上 ,而不必拘泥于细节的实现。也就是说设计者只需设计好方法,而具体方法实现由子类的设计者实现。减轻了程序员的负担。4、接口和抽象类的异同?相同点:二者都是需要背继承和实现后才有实际意义,并且二者都有抽象类型。不同点:抽象类属于类,接口是一种新的数据类型;抽象类的属性可以是常量和变量,而接口中只能是常量;抽象类中可以有抽象方法和普通方法,而接口中只能是抽象方法;抽象类将其抽象方法的实现交给其子类,而接口将其抽象方法的实现交给实现该接口的类。5、接口和类的异同?相同点:接口和类都是数据类型;属性中都有常量,方法中都有抽象类方法。不同点:类的属性是变量和常量,方法需要实现,而接口的属性只能是常量,方法只需声明;类中可以有抽象方法和普通方法,而接口中只能是抽象方法;类的属性可以是常量和变量,而接口中只能是常量;类中可以有抽象方法和普通方法,而接口中只能是抽象方法。二、程序设计实验一:按要求完成程序1。 设计一个抽象类 People,具有抽象方法 say();2。 设计子类 ChinaPeople,AmericaPeople,实现抽象方法 say(); 两个类的 say()方法,分别输出语句:我是中国人 ; 我是美国人3. 设计一个 Speak 类,提供 speaking(People p)方法,注意:其参数是抽象的 People 类型,Speaking 方法中,要求以上转型对象参数 p,调用 say 方法的内容;4。 设计一个测试类 Test,添加 main 函数,分别创建中国人和美国人,测试 speak 类的使用;5.再增加一个子类 AfricaPeople,实现抽象方法 say();添加到测试类中。代码:abstract class People {abstract void say(...