允许的,因为父类可以有好多个子类,如果按照你说的,把子类的方法都放到父类里去的话,那父类的方法就变得好多好多了,而会变得不可读,因为你不知道这个父类究竟是干什么的了,举个例子吧。动物是父类,有eat的方法,小鸟继承了动物,所以它有eat的方法,但小鸟也会飞喔,所以就出现了飞的接口出来了。狮子也继承了动物,有eat的方法,但他不会飞,所以就没飞的接口。这样的解析明白不?如果把飞放到父类的话,那狮子也会飞了???
一个父类当然可以有多个子类,你理解错了。
java所说的单继承指的是:一个类只能有一个直接的父类,类似 class A extends B,C的语法是不行的
但是接口可以实现多个
Class A implements B,C(B,C都是接口)
Class Animal{}
Class Cat extends Animal{}
Class Dog extens Animal{} Cat 和Dog都是Animal的子类
java只可以单继承,也就一个子类只能有一个父类,如果你要多继承的话,可以使用接口来实现,接口的出现就是解决多继承的问题,而且接口非常好用哦 答案补充 对,,不是讨论父类有多少个子类,而是可以继承多个父类的机制。是可以这样理解的!
一个父类可以有多个子类,比如你的爸爸可以有多个孩子,但是【你只能有一个爸爸】
也就是说,【一个子类,只能属于一个父类】!不能有多个"父亲",而【在C++中这是可以的】!
而接口定义了一类方法,用来在不同的类别中去实现共同的方法.
比如说在某个接口中定义了一个方法叫 void getUp() //起床
那么现在有一个类叫person类(人类当然可以使用起床这个方法了)
现在又有一个类叫bird类(鸟类也有睡觉,和起床这种方法)
但是你能让鸟类去继承人类吗???? 答案补充 正确! 单继承,有个"单"字 , 这么记就好了,单就说明继承某个父类的时候,只能继承一(单)个
Java只实现单继承,不可多继承,建议用接口。
例如: Interface接口里有个add()方法,接口里不实现方法,只定义,然后通过一个实现类InterfaceImpl继承该接口,并实现add方法。等到要用的时候,用 Interface xxx = new InterfaceImpl();调用,以后还有其他方法需要,可以再从该接口继承,实现不同的实现方法。
纯手敲,往对你有帮助。