首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

种默认构造函数的访问权限

2012-09-15 
类默认构造函数的访问权限package pkg1public interface Interface {...}package pkg2import pkg1.*pub

类默认构造函数的访问权限


package pkg1;
public interface Interface {...}

package pkg2;
import pkg1.*;
public class Base {
    protected class BaseInner implements Interface{
        //(1)
        public BaseInner() {}
        ...
    }
}


package pkg3;
import pkg1.*;
import pkg2.*;
public class SomeClass extends Base {
    Interface getBaseInner() {
        //(2)
        return this.new BaseInner();
    }
    ...
}

1、如果不定义构造方法,则编译器自动生成与类的访问权限相同的默认构造方法。
2、除了内部类,类的访问权限不能设置成protected或是private的。
3、我先前的代码中(1)处若不写public,则会认为构造器是protected的,也就是说构造器只能被BaseInner的子类所调用,而(2)所处的类并不是BaseInner的子类,所以会出现不可见的错误。没有理解好访问权限的意义是问题出现


热点排行