接口:
1)接口体中可以由抽象方法和常量,但不能有变量。因为在接口中,类似于int MAX=100;的写法等价于 public static final int MAX=100; 因此没有变量。
2)接口体中所有抽象方法和static常量的访问权限都是public。
3)JDK8以后,允许使用default关键字,在接口体中定义称作default的实例方法。并且default实例方法的访问权限必须是public。
4) 允许定义接口体中的static方法以及private方法
5)如果一个类实现了某个接口,那么这个类就自然拥有了接口中的常量、default方法(但会去掉default关键字),但是,该类并不拥有接口中的static方法和private方法。并且,接口中除了private方法以外,其他方法的访问权限默认都是public,重写时不可以省略public,否则就降低了访问权限,这是不允许的。
6)接口没有构造方法
7)如果一个非abstract类实现了某个接口,那么这个类就必须重写该接口的所有abstract方法
8)如果一个abstrac类实现了某个接口,该类可以选择重写接口的abstract方法或直接拥有接口的abstract方法
代码例证
1.package com.zzh;
2.//学生功能接口
3.
4.public interface StudentFunction {
5. //添加、删除、查看、显示、排序功能的抽象方法,被研究生类和本科生类重写
6. void addStudent();
7. boolean delete(long number);
8. boolean search(String name,long number);
9. void sort(String choice,String option);
10. void show();
11.}