本帖最后由 黑色救护车 于 2015-4-5 07:24 编辑
不一定的。extends是继承的意思,可以理解为生活中的“是”;比如,学生是人。implements是实现的意思,可以理解为生活中的“像”;比如学生像是会修电脑;extends的继承关系中,父类一般抽取子类共性的属性或方法;而implements的实现关系中,父类一般提供子类的扩展方法;如刚才所说,学生extends的父类,一定有名字,年龄等属性,有学习,睡觉等方法;学生implements的接口,可以提供修电脑等扩展功能。因为java是单继承,多实现;继承一个父类,就不能继承其他父类了;但是实现,是可以实现多个接口。
至于多用implements,少用extends,要视情况而定。如创建多线程的时候,应该多用implements,而少用extends;因为万一一个类已经继承了父类,但是又有代码需要多线程运行,就无法再extends继承Thread类,只能implements实现Runnable接口了。
希望对你有帮助!
|