13.java基础---泛型,数据结构,List接口,Set接口-编程题


命名要求:
	1. 类名,接口名,枚举名,注解名使用大驼峰
	2. 变量名,方法名,包名均使用小驼峰
	3. 常量名全大写,多个单词下划线分割
	4. 名字要见名知意,如果不知道对应的英文,可以使用拼音代替。不可使用无意义字符
  
代码规范:
	格式要良好,使用IDEA格式化缩进(快捷键:Ctrl+Alt+L)
  
答题规范:
	1. 每道题完整代码请贴入对应题目中的代码区。
    2. 如果有运行结果的,请把代码运行结果放到文档中

【泛型】

题目1

有以下类结构:

人员类(Person):
        |--学生类(Student)
               |--Java学生类(JavaStudent)
               |--UI学生类(UIStudent)
        |--教师类(Teacher)
               |--Java教师类(JavaTeacher)
               |--UI教师类(UITeacher)

要求:

  • 请按上述要求定义类,并实现继承关系即可(不需要定义类成员,定义空类表示关系即可)
  • 请按以下格式和要求定义测试类和方法:
public class Test1{
   

       public static void main(String[] args){
   
              ArrayList<String> list1 = new ArrayList<>();
              ArrayList<Person> list2 = new ArrayList<>();
              ArrayList<Student> list3 = new ArrayList<>();
              ArrayList<JavaStudent> list4 = new ArrayList<>();
              ArrayList<UIStudent> list5 = new ArrayList<>();
              ArrayList<Teacher> list6 = new ArrayList<>();
              ArrayList<JavaTeacher> list7 = new ArrayList<>();
              ArrayList<UITeacher> list8 = new ArrayList<>();         
              //请测试哪些集合可以调用print1()方法
              //请测试哪些集合可以调用print2()方法
              //请测试哪些集合可以调用print3()方法
              //请测试哪些集合可以调用print4()方法
       }

       //要求:参数可以接收任何泛型的ArrayList参数
       public static void print1(ArrayList<__?___> list){
   
              
       }
       //要求:参数可以接收任何Person及其子类泛型的ArrayList参数
       public static void print2(ArrayList<__? extends Person______> list){
   
       }
       //要求:参数可以接收任何Student及其子类泛型的ArrayList参数
       public static void print3(ArrayList<___? extends Student____> list){
   
       }
       //要求:参数可以接收任何Java学员,及其父类泛型的ArrayList参数
       public static void print4(ArrayList<___? super JavaStudent> list){
   
       }

}

参考答案:

思路:使用泛型的上限和下限

import java.util.ArrayList;

public class Test {
   

  public static void main(String[] args) {
   
    ArrayList<String> list1 = new ArrayList<>();
    ArrayList<Person> list2 = new ArrayList<>();
    ArrayList<Student> list3 = new ArrayList<>();
    ArrayList<JavaStudent> list4 = new ArrayList<>();
    ArrayList<UIStudent> list5 = new ArrayList<>();
    ArrayList<Teacher> list6 = new ArrayList<>();
    ArrayList<JavaTeacher> list7 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值