java 泛型限定(下限)

逃离我推掉我的手 2022-05-20 03:59 268阅读 0赞
  1. /*
  2. * 程序头部注释开始
  3. * 程序的版权和版本声明部分
  4. * Copyright (c) 2011, 烟台大学计算机学院学生
  5. * All rights reserved.
  6. * 文件名称:泛型限定(下限)
  7. * 作 者:薛广晨
  8. * 完成日期:2012 年 10 月 22 日
  9. * 版 本号:x1.0
  10. * 对任务及求解方法的描述部分
  11. * 输入描述:
  12. * 问题描述:
  13. * 程序输出:
  14. * 程序头部的注释结束
  15. */
  16. import java.util.*;
  17. class GenericTest7
  18. {
  19. public static void main(String[] args)
  20. {
  21. TreeSet<Student> ts = new TreeSet<Student>(new Comp());
  22. ts.add(new Student("abc03"));
  23. ts.add(new Student("abc02"));
  24. ts.add(new Student("abc06"));
  25. ts.add(new Student("abc01"));
  26. TreeSet<Worker> ts1 = new TreeSet<Worker>(new Comp());
  27. ts1.add(new Worker("wabc--03"));
  28. ts1.add(new Worker("wabc--02"));
  29. ts1.add(new Worker("wabc--06"));
  30. ts1.add(new Worker("wabc--01"));
  31. printColl(ts);
  32. printColl(ts1);
  33. }
  34. public static void printColl(Collection<? extends Person> al)
  35. {
  36. Iterator<? extends Person> it = al.iterator();
  37. while(it.hasNext())
  38. {
  39. System.out.println(it.next().getName());
  40. }
  41. }
  42. }
  43. class Comp implements Comparator<Person>
  44. {
  45. public int compare(Person p1, Person p2)
  46. {
  47. return p1.getName().compareTo(p2.getName());//只能使用父类中的方法
  48. }
  49. }
  50. class Person
  51. {
  52. private String name;
  53. Person(String name)
  54. {
  55. this.name = name;
  56. }
  57. public String getName()
  58. {
  59. return name;
  60. }
  61. public String toString()
  62. {
  63. return "person :"+name;
  64. }
  65. }
  66. class Student extends Person
  67. {
  68. Student(String name)
  69. {
  70. super(name);
  71. }
  72. }
  73. class Worker extends Person
  74. {
  75. Worker(String name)
  76. {
  77. super(name);
  78. }
  79. }

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java下限

    前言:   java的泛型上下限不是很好理解,尤其像我这种菜鸡。反反复复看了好几遍了...,真是... 一、简单的继承体系 class Person{}