1接口的定义
一个父类中的方法和属性只可能比子类中的要少,当一个父类十分抽象,我们只知道他要干什么,不知道他会怎么去做的时候,也就是说,一个类中的所有方法都没有方法体的时候,我们就把这个类叫做接口,如:
public interface Person{
public static final int num=1000;
void eat();
public abstract void rest();
}
接口的定义不是用class,而是用interface
接口中的属性必须是一个公共的静态常量public static final;
接口中的方法必须是一个公共的抽象方法public abstract;如果不写,会自动添加;如void eat(){}
因为接口中的方法都是抽象方法,所以接口是没有构造方法的,不能够创建对象。我们定义一个接口的的主要作用是用来给子类扩展的,当然接口同样是一种数据类型。
2接口的实现
定义学生类的时候,就可以让学生类来实现这个接口;
public class Student implements Person{
public void eat(){
System.out.println("学生在吃饭");
}
public void rest(){
System.out.println("学生在休息"):
}
}
接口的实现使用implements关键字,实现类中,必须重写接口中定义的所有方法。
在实现接口中的方法的时候要注意的是,由于接口中的方法都默认是public的,所以即使接口中没有写public,在实现的时候也要加上public。
子类在重写父类的方法的时候,不能减少方法的可访问范围,如果父类中是·public的,在子类中就必须是public的。