其实,老毕的视频说的很详细。
不管你的父类,还是接口中有多少个相同的方法,注意是相同的,即返回值,函数名,参数列表均相同的方法。
你在子类中实现或者说复写了这个方法,就等于实现上了所有的接口,同时复写了父类的方法。
java支持多继承,但只有接口可以多继承,这是因为接口没有方法体,你继承多少个相同函数,对于那个接口而言还是同一个没有方法体的函数。
但是类就不能多继承,如果可以的话,不同父类中有相同方法,而这些方法的功能不同,即方法体的内容不同。当你继承过来后,在调用时就不知道该调用哪一个。
但是有一种情况是不可以多实现的。比如一个接口中有一个方法: void show(); 另一个接口中还有一个方法: int show(); 这时就不能同时实现这个两个接口。理由很简单,就算一个类可以同时实现这两个接口,但当你创建对象调用show方法时,改返回哪一种类型的返回值? 这与重载正好相反,重载不关心返回值类型,只关心参数列表。
可能以上你都知道了,但也当做是自己对之前学习的理解吧。别嫌我话多。。。 |