java学习笔记

1.异常

2.抽象类与接口
接口和抽象类的区别是什么?

  • 1、一个类可以实现多个接口,但却只能实现一个抽象类
  • 2、接口默认的方法是public,且不能在接口中实现方法。抽象类却可以有非抽象的方法。
  • 3、一个类实现接口的话要实现接口类中的所有方法,而抽象类不一定。
  • 4、接口不能用 new 来实例化,但可以声明。
  • 5、接口中的实例变量默认是 final 类型的,而抽象类中则不一定。

3.List的contains(obj)方法

实际上,List调用contains(Object obj)方法时,会遍历List中的每一个元素,然后再调用每个元素的equals()方法去跟contains()方法中的参数进行比较,如果有一个元素的equals()方法返回true则contains()方法返回true,否则所有equals()方法都不返回true,则ontains()方法则返回false。因此,重写了Course类的equals()方法,否则,testListContains()方法的第二条输出为false。

4.Set的Contains(obj)方法
  当调用HashSet的contains(Object obj)方法时,其实是先调用每个元素的hashCode()方法来返回哈希码,如果哈希码的值相等的情况下再调用equals(obj)方法去判断是否相等,只有在这两个方法所返回的值都相等的情况下,才判定这个HashSet包含某个元素。因此,需重写Course类的hashCode()方法和equals()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值