接口最关键的作用,也是使用接口最重要的一个原因:能上溯造型至多个基础类。使用接口的第二个原因与使用抽象基础类的原因是一样的:防止客户程序员制作这个类的一个对象,以及规定它仅仅是一个接口。这样便带来了一个问题:到底应该使用一个接口还是一个抽象类呢?若使用接口,我们可以同时获得抽象类以及接口的好处。所以假如想创建的基础类没有任何方法定义或者成员变量,那么无论如何都愿意使用接口,而不要选择抽象类。事实上,如果事先知道某种东西会成为基础类,那么第一个选择就是把它变成一个接口。只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。
E6Mall是铱王星科技公司推出的一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店。系统是基于Java语言及Hibernate、Spring、Struts2构架开发的跨平台开源程序。 E6Mall注重购物安全,从系统基础平台构建到应用设计,不断提高购物安全性。由于是Java语言开发,同时也继承了Java的安全性。同时,不断完善产品功能,提高容错能力和稳定性,提高执行效率和负载能力,特别
/**
* Created by xfyou on 2016/11/3.
* Java 继承和接口演示
*/
public class Adventure {
static void t(CanFight x) {
x.fight();
}
static void u(CanSwim x) {
x.swim();
}
static void v(CanFly x) {
x.fly();
}
static void w(ActionCharacter x) {
x.fight();
}
public static void main(String[] args) {
Hero i = new Hero();
t(i);
u(i);
v(i);
w(i);
}
}
interface CanFight {
void fight();
}
interface CanSwim {
void swim();
}
interface CanFly {
void fly();
}
class ActionCharacter {
// 父类中实现了子类中继承的接口方法
public void fight() {
}
}
/**
* 必须先 extends 然后再 impplements
*/
class Hero extends ActionCharacter implements CanFight, CanSwim, CanFly {
@Override
public void fly() {
}
@Override
public void swim() {
}
}










