(1)接口只包含常量和抽象方法。
接口中方法的默认修饰符是public abstract;接口的变量的修饰符默认是public static final。代码验证:
package com;
//声明一个接口
public interface Test {
int age=0; //无任何修饰符
void print();//无任何修饰符
}
public static void main(String[] args) throws ClassNotFoundException {
//获取Test接口对应的Class实例
Class clazz=Class.forName("com.Test");
Field[] fields = clazz.getFields();
for (Field field : fields) {
System.out.println(field);
}
System.out.println("========================");
Method[] methods = clazz.getMethods();
for (Method method : methods) {
System.out.println(method);
}
}
执行结果:
public static final int com.Test.age
========================
public abstract void com.Test.print()
(2)接口的方法的修饰符默认是public abstract;也只能是public abstract(不能违背public abstract)
你可以不写修饰符;你可以只写public;你可以只写abstract;但是你不能写成private,也不能有方法体。
要么不写,如果写就不要违背
(3)接口的变量(其实是常量,因为用final修饰)的修饰符默认是public static final; 也只能是public static final。
同方法一样,要么不写或者少写修饰符(因为默认修饰符),如果写就不要违背public static final