1.接口类:interface
- 接口类中没有属性和方法,只有常量与抽象方法。
-常量:不可更改(与final有关),修饰符只能用public ,定义常量时,static与final都是专属于接口类的,他们两个与public在定义的时候即使不写,系统也会默认给出
-抽象方法:没有方法体,但是可以有参数
定义一个Student接口类
public interface Student {
//常量
public static final String NAME = "李雷";
//抽象方法
public abstract void study();
}
- 实现(继承)接口:implements
一个接口可以由多个子类实现,一个子类也可以实现多个接口
(子类还可以同时继承class与实现接口,格式为:
public class 子类 extends 父类 implements 接口类,接口类,,{})
要注意的是:实现接口时,一定要重写接口中的所有抽象方法
创建一个IntStudent子类实现Student接口
public class IntStudent implements Student {
public void study(){
System.out.println("子类重写父类的抽象方法!");
}
}
- 接口类不能创建对象:没有变量,只有抽象方法和常量,而抽象方法也没有方法体,创建对象的话对象也是空的,没有意义,所以接口类在主函数中调用时不能创建对象,调用接口类的常量时直接用类名调用即可(如果想在主函数中调用接口类的抽象方法,就要创建一个子类实现此接口类,在主函数中调用子类重写后的方法即可)
Manage类
public class Manage {
public static void main(String[] args) {
// Student.NAME = "韩梅梅";(错误的)
System.out.println("名字:"+Student.NAME); //用类名调用接口类中的常量
// Student st = new Student();(错误的)
}
}