Java第04次实验提纲(面向对象2-继承、多态、抽象类与接口)

第1次实验

目标:

  • 学会使用Comparable接口与Comparator接口。
  • 掌握Comparable、Comparator与Arrays.sort之间的关系

1.让Person可比较

使用"基础代码-persons"目录中的源代码进行实验。

  • 让Person类(name, age)实现Comparable接口
  • 按age比较,然后使用Arrays.sort升、降序排序
  • 按name比较,然后排序。需考虑name为null的情况

注意:

  1. name为null时,需考虑4种情况(当前对象name为null,传入对象name为null;null, not null; not null, null; not null, not null).
  2. 可直接复用String的比较方法。
  3. public int compareTo(Person o) {中编写if (this == null) return -1是否合理?this可能为null吗?

2.为Person创建比较器

  • AgeComparator
  • NameComparator

3. PTA题集5-1(Comparable)

难点:如果传入对象为null,或者传入对象的某个属性为null,怎么处理?

进阶:Comparable只能实现一种比较方式。如果需要有多种不同的比较方式,则应使用Comparator接口。

4. PTA题集5-2(Comparator)

进阶:使用匿名内部类实现NameComparator与AgeComparator的的功能。
进阶:使用Lambda表达式语法实现NameComparator与AgeComparator的的功能。
难点同上。注:PTA平台的jdk环境Open JDK6(新版已支持Open JDK8),不支持Java8的一些语法,如Lambda表达式


第2次实验

目标:

  • 掌握静态嵌套类的定义与使用
  • 掌握如何自定义接口

1. PTA题集5-3(静态嵌套类)

静态嵌套类不同于内部类,其可以独立于外部类。但是一般来说静态嵌套类和外部类有较紧密的关系,定义为嵌套类,更利于理解。

2. PTA题集5-4(自定义接口ArrayIntegerStack)

如何使用数组或者列表实现一个栈。通过接口将栈的操作抽象出来,然后可以有不同的实现。

3. 结对编程指导

  • 在码云上加入新成员
  • Eclipse中可能碰到的问题(如,冲突)

其他参考资料:

Java第04次实验(接口)文件.zip

下次实验

Java第05次实验提纲(Java图形界面编程)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值