java中fun_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");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值