接口是抽象方法和常量值定义的集合, 接口是一种特殊的抽象类, 只包含常量和方法的定义, 而没有变量和方法的实现.
接口->接口: extends, 类->类: extends, 类->接口:implements
1. 接口可以多重实现
2. 接口的所有变量都是 public static final类型, 可以不写, 默认. 接口的所有方法的abstract可以省略不写
3. 接口可以继承其他接口, 并添加新的属性和抽象方法.
4. 多个无关的类可以实现同一个接口
5. 一个类也可以实现多个无关的接口
6. 接口与实现类之间存在多态性
关键字:implements
public interface Valuable {
public double getMoney();
} interface Protectable {
public void beProtected();
} interface A extends Protectable {
void m();
void getMoney();
} abstract class Animal {
private String name; abstract void enjoy();
} class GoldenMonkey extends Animal implements Valuable, Protectable {
public double getMoney() {
return 10000;
} public void beProtected() {
System.out.println("live in the room");
} public void enjoy() { } public void test() {
Valuable v = new GoldenMonkey();
v.getMoney();
Protectable p = (Protectable)v;
p.beProtected();
}
} class Hen implements A ,Valuable
{
public void m() {}
public void beProtected() {}
public double getMoney() { return 1.0; }
public void getMoney() {} //这种不可以
}