较之c++ 中 public,proctected, private 三种訪问控制, java多了默认訪问控制。


java中四种訪问控制权限 简单描写叙述为一下四句:
1)private 仅本类可见 (同c++)
2)默认 对本包可见/包内訪问 (c++没有)
3)protected 对本包和全部子类可见 (c++中没有本包概念。较 默认訪问 能够被在其它包下的子类訪问)
4)public 对全部类可见 (同c++)

当中1)4)与c++同样,对2)3)做简单測试

3)protected 对本包可见測试例如以下:

package com.behavior;
public class Parent {
    protected int i = 3;
}
package com.behavior;
//与Parent在同一个包下,无继承关系
public class Children {
    public void action() {
        Parent parent = new Parent();
        System.out.print(parent.i);
    }
}
package com.stratege;
import com.behavior.Children;
public class ChildrenTest {
        public static void main(String [] args) {
            Children children = new Children();
            children.action();
        }
}

验证:protected 对包内訪问的权限

2)默认 对包内訪问測试
将Parent中变量i 訪问权限做例如以下改动,Children, ChildrenTest不变

package com.behavior;
public class Parent {
    int i = 3;
}

验证:默认对包内訪问的权限

posted on 2017-07-29 08:01  lxjshuju  阅读(114)  评论(0编辑  收藏  举报