接口 interface
public interface 接口名{
// 静态常量 及 抽象方法
}
接口名: I接口名
接口不允许 使用 new 进行实例化
接口 与 class 区别
接口中方法 都是抽象方法 abstract,
接口中的方法默认 增加 public abstract 前缀
接口中的属性 默认 增加 public static final 前缀
定义好接口后
public class 类名 extends 父类类名 implements 接口名1,接口名2,接口名3{
// 重写 抽象方法
}
接口 与 抽象类 的区别???????????????????
共同点: 不允许 使用 new 创建对象, (实例化)
不同点:
接口: 1. 使用 interface 关键字
2. 接口中的属性 默认 使用 public static final 进行修饰
3. 接口中 所有的方法 都是 抽象方法, 且 方法使用 public abstract 进行修饰
4. 定义接口后 使用 implements 进行 实现接口
抽象类: 1.使用 abstract 关键字
2. 抽象类 可以定义 属性 及方法
3. 抽象类 中可以 定义 抽象方法及 普通方法, 但 抽象方法 必须 在 抽象类 或接口中进行 定义
4. 抽象类 可以 被继承
public interface IFly {
void fly();
}
public abstract class Bird {
/**
* 攻击
*/
public abstract void attack();
}
public class SplitBird extends Bird implements IFly{
@Override
public void attack() {
System.out.println("----------split bird attack-");
}
@Override
public void fly() {
System.out.println("--------1变3 飞------");
}
}
public class TestBird {
public static void main(String[] args) {
SplitBird s = new SplitBird();
s.fly();
}
}