private、默认、protected、public

public 
公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问 

private 
私有的,和public相反,加上这个修饰的属性和方法,只允许在自己本身这个类里访问,程序的任何其它地方都不能访问 

protected 
保护,位于public和private中间,加上这个修饰的属性和方法,只能在子类(extends)和同包下的程序访问,别的的地方不能访问。

还有一个默认缺省的(就是不加任何修饰的)
缺省,位于private和protected中间,加上这个修饰的属性和方法,只能在同包下的程序访问,别的的地方不能访问。

结论是:public > protected > 默认 > private


public和private相对简单,默认和protected接下来我们用四个简单的java类来验证一下


package org.test;

public class ChildOne {
	static int money;
	protected static String family;
}

package org.test;

public class ChildTwo {
	public static void main(String[] args) {
		// 能访问同包下类的默认属性
		System.out.println(ChildOne.money);// YES
		// 能访问同包下类的protected属性
		System.out.println(ChildOne.family);// YES
	}
}

package org.test1;

import org.test.ChildOne;

public class SonOne {
	public static void main(String[] args) {
		// 在不同包下不能访问非父类默认属性
		System.out.println(ChildOne.money);// ERROR
		// 在不同包下不能访问非父类protected属性
		System.out.println(ChildOne.family);// ERROR
	}
}

package org.test1;

import org.test.ChildOne;

public class SonTwo extends ChildOne {
	public static void main(String[] args) {
		// 在不同包下不能访父类默认属性
		System.out.println(ChildOne.money);// ERROR
		// 在不同包下能访问父类protected属性
		System.out.println(ChildOne.family);// YES
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值