Java中的四种权限

来源:互联网 发布:算法导论 高清pdf 编辑:程序博客网 时间:2024/06/03 21:17

Java中的四种权限

Java中有四个权限,分别为private,protected,default,public,不写即为default,每个权限分别为如下表格:

 privatedefaultprotectedpublic本类可访问是是是是本包非本类可访问否是是是非本包的子类可访问否否是是非本包的类否否否是

另外类成员的权限不得大于类的权限,如果大于,以类的权限为准。即如下的一个类:

class Test{ public int i=0; public void fun() { System.out.println(i); }}

则类成员i和fun虽然定义的权限为public,但是由于类的权限为default,所以i,fun的权限仍为default。

通过对象访问类成员时,也要遵守权限,如下:

class Test{ public static void main(String[] args){ Myclass a=new Myclass(); a.fun1();//错误,因为fun1的权限为private a.fun2(); System.out.println(a.i1);//错误,因为i1的权限为private System.out.println(a.i2); }}class Myclass{ private int i1=0; int i2=0; private void fun1() { System.out.println("fun1()"); } void fun2() { System.out.println("fun2()"); }}

权限在继承时,只能从小的范围到大的范围改变(或者权限不变),不得从大的权限到小的权限,如下例子:

class parent{ public void test() { System.out.println("hello"); } } class children extends{ protected void test() //错误,test的权限变小了 { System.out.println("hello"); } }

本文为头条号作者发布,不代表今日头条立场。

0 0
原创粉丝点击