黑马程序员技术交流社区

标题: 有点迷茫的小问题~~~ [打印本页]

作者: 维纳斯之叶    时间: 2012-9-22 11:58
标题: 有点迷茫的小问题~~~
本帖最后由 维纳斯之叶 于 2012-11-17 08:36 编辑

internal和protected internal的区别??其中描述protected internal的这句话:(内部保护访问。只限于本项目或是子类访问,其他不能访问)只限于本项目或是子类访问是什么意思??子类指的是谁的子类??
作者: 狄琛林    时间: 2012-9-22 13:32
限定符有4个:protected、internal、private、public      
        
    它们之间的关系(访问范围)是:private <protected/internal <public      
        
    这个很明显了。      
        
    关键是protected和internal的问题。      
        
    protected限定的是只有在继承的子类中才可以访问,可以跨程序集      
        
    internal限定的是只有在同一个程序集中才可以访问,可以跨类      
        
    所以它们是有点交叉的。      
        
    当一个CLASS是ITERNAL的时候,要求其所有的成员的限定范围不能大于internal。      
        
    所以,当一个INTERNAL的CLASS写PROTECTED的时候,就需要两个限定符了:      
        
    internal       protected      
        
    这样,限定了访问范围是:本程序集、继承的子类。      
        
    因此,关系是:      
        
    private <internal       protected <internal/protected <public      
        
    internal和protected的具体范围大小就不能准确的界顶了。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2