注意:接口中的成员变量与成员方法默认权限都是public
例子
接口
public interface _173Animal {
//接口中的变量,默认是常量,并且自动加了static、final关键字
public static final int code1=200;
public final int code2=300; //相当于 int code3=300
//在接口中定义的方法,默认为抽象方法,自动加了public、abstract关键字
public abstract void eat(); //相当于 void eat()
//在jdk8之后,可以在接口中定义非抽象方法。
// 在接口中定义非抽象方法,要加上default关键字
default void show(){
System.out.println("我在接口中,定义了一个非抽象方法");
}
}
实现类
public class _173DogImpl implements _173Animal {
//这个类没有继承父类,则默认情况下,自动继承object父类
@Override
public void eat() {
System.out.println("我是狗类,我喜欢吃骨头");
}
public _173DogImpl(){
super(); //这里调用的是object父类的无参构造方法
}
}
实例和运行结果
public class _173Test01 {
public static void main(String[] args) {
_173Animal dog=new _173DogImpl();
System.out.println(dog.code1);
System.out.println(_173Animal.code2);
dog.eat();
dog.show();
}
}