面向对象程序设计(Java)实验4

本文介绍如何在Java中实现泛型类GeneralType,包括构造函数初始化和get方法的使用,并重点讲解了访问修饰符、静态与非静态成员的区别,以及匿名内部类的应用。通过示例演示了String、Integer和Double类型的具体操作。
摘要由CSDN通过智能技术生成

实验要求

上机实现下列程序并观察程序的运行情况:

  1. 编写一泛型类(String、Integer、Double等)的使用,类GeneralType中包含有一泛型类成员变量,构造函数对这一泛型类对象进行初始化,另外一方法对该泛型类对象进行输出。

实验要求

  1. 熟悉四种访问修饰符类型的成员的访问方法。
  2. 熟悉静态成员与非静态成员的区别。
  3. 掌握匿名内部类的使用。

实验内容

package test4;
import java.util.Scanner;
class a<T>{
    T data;
    public a(T d){
        this.data = d;
    }
    public T get(){
        return data;
    }
}
public class demo {
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        a<String> demo1 = new a<>("Hello");
        System.out.println(demo1.get());
        Integer x = input.nextInt();
        a<Integer> demo2 = new a<>(x);
        System.out.println(demo2.get());
        double y = input.nextDouble();
        a<Double> demo3 = new a<>(y);
        System.out.println(demo3.get());
    }

}

在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
、Person类的多态性设计。 设计一个Person类,其中包含一个方法pay(),计算工资支出。再从Person类派生出助教类(Assistant)、讲师类(Instructor)、副教授类(AssistantProfessor)和教授类(Professor)。其中:工资支出=基本工资+授课时数teachingHours*每课时课金。 助教基本工资为800元,每课时课金25元;讲师基本工资为1000元,每课时课金35元;副教授基本工资为1200元,每课时课金40元;教授基本工资为1400元,每课时课金50元;在主方法中显示各人员的工资支出。用以下两种方式实现: ○1将Person类设计为抽象类,pay()为抽象方法,设计程序实现多态性。 ○2将Person类设计为接口,设计程序实现多态性。 提示:设置授课时数teachingHours为成员变量,计算工资支出为成员方法,考虑是否定义构造方法。 2、编写一个Java程序,在程序中定义一个接口Achievement,其中有一个计算平均分的抽象方法avg();定义一个父类Person,其中有数据成员:姓名name和年龄age,构造方法初始化数据成员name和age,重写toString()方法显示成员信息;定义一个子类Student继承类Person并实现接口Achievement,增加数据成员:语文成绩chnScore、数学成绩mathScore和英语成绩engScore,增加设置三门课成绩的setScore()方法,并实现接口Achievement的计算平均分的抽象方法avg(),主函数中测试,部分代码如下所示: Student s=new Student(“张三”,16); //创建子类对象 System.out.println(s.toString()); //显示s的个人信息,调用继承父类的toString方法 s.setScore(80,88,95); //设置三门课的成绩 System.out.printf(“三门课的平均分:%.2f”, s.avg()); //显示对象s的三门课的平均分 输出结果如下: 姓名:张三,年龄:16 三门课的平均分:87.67 3、编写一个Java程序,在程序中定义一个School类,在School类中定义一个内部类Student,分别创建这两个类的对象,访问各个对象中的方法,其中: School类: 数据成员:学院名称schoolName; 成员方法:显示信息方法showSchoolMsg():在方法中创建内部类Student的对象,并显示该对象的信息(调用内部类Student的显示信息的成员方法)。 Student类: 数据成员:姓名sname,年龄sage; 构造方法,初始化姓名sname、年龄sage以及所属学院名(即外部类数据成员:学院名称schoolName); 成员方法:显示信息showStudentMsg(),显示的信息包括:姓名、年龄以及所属学院名。 主函数中测试,部分代码如下所示: …… // 创建外部类School的对象 …… // 通过外部类对象调用其显示信息的方法showSchoolMsg() System.out.println(“-------------我是华丽的分割线-------------”); …… // 创建内部类Student的对象 …… // 通过内部类对象调用其显示信息的方法showStudentMsg()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chiaki_0ff

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值