例如一个普通类
class Test {}
其默认的构造器是为public Test() {}还是 Test() {}呢?
大家帮忙啊

解决方案 »

  1.   

    google 一下就有了
    默认是friendLy 和protected的区别是,它的其他包的子类也可以访问到它
      

  2.   

    在sun hotspot中默认是public的public static void main(String[] args) {
    Constructor[] constructors = Test.class.getDeclaredConstructors();
    for(Constructor c : constructors) {
    System.out.println(c.getModifiers());
    }
    System.out.println(Member.PUBLIC);
    }
      

  3.   

    public Test() {}.您自己花几秒钟试一下。
      

  4.   


    import java.lang.reflect.Constructor;
    import java.lang.reflect.Modifier;public class Main {    private class InnerClassPrivate {
        }    protected class InnerClassProtected {
        }    public static void main(String[] args) {
            System.out.print("class Main's constructor: ");
            Constructor[] constructors = Main.class.getDeclaredConstructors();
            for (Constructor c : constructors) {
                System.out.println(Modifier.toString(c.getModifiers()));
            }        System.out.print("class Test's constructor: ");
            constructors = Test.class.getDeclaredConstructors();
            for (Constructor c : constructors) {
                System.out.println(Modifier.toString(c.getModifiers()));
            }        System.out.print("class InnerClassPrivate's constructor: ");
            constructors = InnerClassPrivate.class.getDeclaredConstructors();
            for (Constructor c : constructors) {
                System.out.println(Modifier.toString(c.getModifiers()));
            }        System.out.print("class InnerClassProtected's constructor: ");
            constructors = InnerClassProtected.class.getDeclaredConstructors();
            for (Constructor c : constructors) {
                System.out.println(Modifier.toString(c.getModifiers()));
            }
        }
    }class Test {
    }