//: 文件1,路径:com\test\T.java
package com.test;
public class T {
  T() { }
}
//: 文件2,路径:C.java
import com.test;
public class C {
  public static void main(String[] args) {
    T t = new T();
  }
}
文件2编译失败...
将文件1构造函数去掉,再编译文件2,成功.
结论:默认构造函数是public的.
不知道这么说对不对,还是有什么别的说法,恳请指点.

解决方案 »

  1.   

    默认构造函数是public的,正确。
      

  2.   

    不用修饰符的方法又叫友好方法。必须在同一包下使用;而默认的构造方法是public的,可以任意跨包使用
      

  3.   

    public 是跨包使用啊。记住了。
      

  4.   

    所谓默认的构造方法就是不自己实现,而是由系统提供的,这个构造方法是public的但如果自己写了任何构造方法,系统就不再提供默认的构造方法了。所以LZ的T类的构造方法不是public的,而是所谓friendly的