package excersice1;import java.lang.reflect.Method;
import java.lang.reflect.Modifier;public class ReflectTest {
public static void main(String[] args) {
Class c=Interface1.class;
System.out.println("the modifier of interface1: "+Modifier.toString(c.getModifiers()));

Class c1=A.class;
System.out.println("the modifier of class A: "+Modifier.toString(c1.getModifiers()));
}
}class A
{
void g()
{
System.out.println("...");
}
}interface Interface1
{
public void f();
}===========================运行结果如下:
the modifier of interface1: abstract interface
the modifier of class A: 包访问权限的根本反映不出来,这实际使用中不是很那啥。

解决方案 »

  1.   

    你试下当A的修饰符是private或别的时会不会正常打印。因为这里A的修饰符是缺省值。猜可能是这个原因。
      

  2.   

    java里也没有考虑这种情况给个值啊
      

  3.   

    interface的方法的访问修饰符可以不写,不写pulic默认就是public的,所以你写不写都是public的
      

  4.   

    其他普通类不写就是包含问权限,但是java的反射没有对包访问权限像public之类的直接给出一个值啊