继上文接口的使用,本文我们小编将带大家继续叙述接口。
2.4 接口的特征
1.接口是一种引用类型,但是不能直接new接口的一个对象。
2. 接口中每一个方法都是public的抽象方法,== 即接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)==。
3. 接口中的方法是不能在接口中实现的,只能由实现接口的类来实现。
- 重写接口中方法时,不能使用默认的访问权限(重写时的权限必须比原本的高)。
- 接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量。
- 接口中不能有静态代码块和构造方法,接口中只包含有抽象方法和常量
- 接口虽然不是类,但是接口编译完成后字节码文件的后缀格式也是.class
- 如果类没有实现接口中的所有的抽象方法,则类必须设置为抽象类
- jdk8中:接口中还可以包含default方法。
2.5 实现多个接口
在Java中,类和类之间是单继承的,一个类只能有一个父类,即Java中不支持多继承,但是一个类可以实现多个接口。下面通过类来表示一组动物.
在这里插入代码片
package Demo2;
public class Animal {
public Animal(String name) {
this.name = name;
}
public String name;
}
另外我们再提供一组接口, 分别表示 “会飞的”, “会跑的”, “会游泳的”.
public interface Running {
void run();
}
public interface Flying {
void fly();
}
public interface Swimming {
void swim();
}
public interface Leaping {
void l