新手关于java的问题--

有点搞不懂什么时候方法放在父类 什么时候放在接口中, 比如说有一个game父类 三种game子类,每个game有不同的比赛方法(compete方法),那么这个抽象的compete方法应该放在接口中去实现还是放在父类中去继承?

A类与B、C、D类的关系
当A类特定的方法,B,C,D都一定有的时候,用继承,B,C,D继承A类;
当A类特定的方法,B,C,D不一定全部都有的时候,用接口实现。
比如People类的Eat方法,所有人都会吃饭,所以用继承,把Eat写在People作为父类方法;
比如People类的Code方法,不是所有的人都会写代码,所以用接口实现,把Code写在接口,让会Code的人去实现接口。

看具体使用场景:
Java单继承的特性决定了:如果你的具体实现类只有一类行为,可以写在一个父类中;有多重行为的需要定义成接口来实现多继承;

接口主要用于功能,抽象类是主要对象抽象。人包括男人、女人,是个大概念。编程是一种功能,有的人具有这种功能可以实现编程接口,有的人不具有这种功能就不用去实现这个接口。

假设你的需求在接口中去实现或放在父类中去继承都能实现,可以这样理解:接口更多的是定义一种协议,让其他模块实现这个**协议**(比如jdbc,不同的数据库厂商实现了jdbc定义的标准接口,即驱动)。再比如,为什么你在淘宝上买的显卡能插到你的主板上,是工商局规定了接口,大家都按这个接口来生产;而继承父类更多的是关注继承父类**原有的功能**,当然也可以添加或修改(重写)。

题主应该首先了解,extend 和 implement后的类所具有哪些特性,
再按照自己需求选择extend or implement~~

共同有的放入到父类中,部分特有的行为放入到接口

类是单继承,继承父类属性,接口是多继承