在Java中类不允许多重继承,但使用接口可以实现多重继承,因为一个类可以同时实现多个接口,这样可以将所有需要实现的接口放在implements关键字后,并使用英文逗号隔开,但这可能会在一个类中产生庞大的代码量,因为实现一个接口时需要实现接口中的所有方法。
1.定义“可移动”接口和“可唱歌”接口,定义“精灵”类,实现两个接口。运行效果如下:
可移动接口Kmove.java:
package Zaria; public interface KMove { void move(); }
可唱歌接口Ksing.java:
package Zaria; public interface KSing { void sing(); }
JingLing,java:
package Zaria; public class JingLing implements KMove,KSing{ public void move(){ System.out.println("可以移动"); } public void sing(){ System.out.println("可以唱歌"); } public static void main(String[] args){ JingLing j=new JingLing(); System.out.println("精灵会做的事有:"); j.move(); j.sing(); } }
如何区分抽象类和接口?
1)子类只能继承一个抽象类,但可以实现任意多个接口;
2)接口中的方法都是抽象方法,抽象类可以有非抽象方法;
3)抽象类中的成员变量可以是各种类型,接口中的成员变量只能是静态常量;
4)抽象类中可以有静态方法和静态代码块等,接口中不可以;
5)接口没有构造方法,抽象类可以有构造方法。