你试过?如果test不是public的类,根本在其它包里没法构造的,因为你根本不能访问到它。

解决方案 »

  1.   

    ?构造器可以用private吗?我表示怀疑,你去编个程序看看
      

  2.   

    public class HelloWorld {
    private HelloWorld() {
    System.out.println("A new HelloWorld object.");
    }

    private void hello() {
    System.out.println("HelloWorld!");
    }

    private static void main(String[] strv) {
    HelloWorld h = new HelloWorld();
    h.hello();
    }
    }
      

  3.   

    SL275中说明是:
    变量和方法有四种访问权限:public,protected,default,private,而类只能有两种:default,public,有defualt权限的变量、方法或类只能从同一个包中的类的任何方法中访问,而protected的变量或方法可以被该类,同一包,子类访问,private只能被该类访问,public可以被所有的访问。
    在另一个包中的类是不能实例化一个default类的。
    //test.java
    package lm;
    class test {
    public test() {
    System.out.print("ok");
    }
    }
    //test2.java
    package lm2;
    import lm.*;
    public class test2{
    test t;
    public test2(){
    t=new test();
    }
    }
    test2根本就不能编译通过,出错信息是:lm中的lm.test不是公有的,不能被外部包访问。
    你是如何实例化的呢?