接口
接口是一种特殊的“抽象类”,在接口中,所有方法都是抽象方法,所有方法都不提供具体的实现。
接口不是类(class),接口可以有多重实现。意思就是一个类可以实现多个接口。
接口与抽象类的区别
抽象类 接口
声明 abstract class interface
属性 可以有属性,静态变量、常量 只能是公共的静态常量
方法 可以有抽象方法和普通方法 只能拥有公共的抽象方法
构造方法 有构造方法,不能实例化 没有构造方法,不能实例化
使用 单根继承 多重实现
在接口中没有变量,就算省略了访问修饰符、static和final,在接口中都是公开的静态常量。
接口中只有公共的静态常量和公共的抽象方法。
public interface IAttack {
//攻击
public void attack();
}
public class Robber extends Role implements IAttack{
@Override
public void attack() {
System.out.println("盗贼"+getName()+"攻击");
}
}