证明接口interface中定义的方法的访问权限为public

来源:互联网 发布:广电网络app 编辑:程序博客网 时间:2024/05/05 10:53


如题,证明Java中接口文件中定义的方法访问权限为public。


众所周知,接口中的方法默认是public abstract 类型的,它必须由子类实现之。那怎么证明呢,反射。


定义接口文件

package com.zhangqi.jvm;import java.util.Date;public interface ITest {double PI = 3.14;Date CREATE_TIME = new Date();void play();String getName();}

接口文件中定义两个静态常量PI 和 CREATE_TIME ,两个方法 play 和 getName 。


接下来,测试方法来反射获取静态变量和方法。

package com.zhangqi.jvm;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ReflectTest {public static void main(String[] args) throws ClassNotFoundException {// 加载com.zhangqi.jvm.ITest类文件Class<?> clazz = Class.forName("com.zhangqi.jvm.ITest");// 获取类中所有方法Method[]  methods = clazz.getDeclaredMethods();// 遍历每个方法,并输出该方法for (Method method : methods) {System.out.println(method.toString());}System.out.println("~~~~~~~~~~~~~~~~~~~~~");// 获取类中所有静态变量Field[] fields = clazz.getDeclaredFields();// 遍历所有常量for (Field field : fields) {System.out.println(field);}}}

执行之后,得到输出结果

public abstract java.lang.String com.zhangqi.jvm.ITest.getName()public abstract void com.zhangqi.jvm.ITest.play()~~~~~~~~~~~~~~~~~~~~~public static final double com.zhangqi.jvm.ITest.PIpublic static final java.util.Date com.zhangqi.jvm.ITest.CREATE_TIME

从而证明,静态变量的修饰词为public static final

方法的修饰为public abstract

0 0
原创粉丝点击