- 首先继承关系我们可以自然的使用父类的功能,而不需要去重写,比如下面的一段的代码,monkey本身的本领就可以爬树,是从父辈上继承过来,而不需要去学习。但是如果悟空还想要飞翔则需要继承一个接口,提供相应的功能,同样悟空还可以学习更多的技能,也就需要更多的接口。
public interface Bird {
/**小鸟飞翔的功能*/
public void fly();
}
public class Test {
public static void main(String[] args) {
Monkey monkey=new Monkey("悟空爸爸");
monkey.climbing();
LittleMonkey littleMonkey = new LittleMonkey("悟空");
littleMonkey.climbing();
littleMonkey.fly();
}
}
class Monkey{
private String name;
public Monkey(String name){
this.name=name;
}
public void climbing(){
System.out.println(name+"会爬树");
}
public String getName(){
return name;
}
}
class LittleMonkey extends Monkey implements Bird{
public LittleMonkey(String name){
super(name);
}
@Override
public void fly(){
System.out.println(getName()+"经过努力,学会了腾云驾雾");
}
}

- 接口和我们Java类中的虚拟类很相似,但是接口可以定义static方法,而虚拟类不可以定义static方法。