else if (!name.equals(other.name))
这里name又使用了equals 这个是object里面的 还是刚刚重写的 类似递归吗?
重写的equals方法是用来比较Course类的,name.equals()方法是使用java原本的字符串比较方法。我在网上找了一篇写equals的,感觉比较好http://www.cnblogs.com/dolphin0520/p/3592500.html
name后的equals是name字符串调用的,应该是String下重写的equals方法,和我们重写的这个equals方法不是同一个方法,就像在修灯泡时还要用其他的灯泡来照明一样,只是拿过来用,但不是同一个