访问控制修饰符

访问控制修饰符

public protected default private是java中的访问控制修饰符.
注:这里的default的意思是什么都不写

作用:
一.修饰类
1.普通类
只能使用public和default修饰源文件中编写的java类。public表示其他任何地方都有权限访问这个类
default表示质疑和当前类在一个包的类才有权限访问。
2.内部类
四个修饰符可以修饰特定的内部类

二.修饰属性和方法
四个修饰符都可以修饰属性和方法,主要控制的就是这些属性和方法的可见性,我们以属性为例,方法和属性的效果是一样的。
1.同一类中

public class Test {
	public String pubStr = "public";
	protected String proStr = "protected";
	String defStr = "default";
	private String priStr = "private";
	public static void main(String[] args) {
		System.out.println(new Test().pubStr);
		System.out.println(new Test().proStr);
		System.out.println(new Test().defStr);
		System.out.println(new Test().priStr);	
	}
}

代码正常编译
2.同包类中

public class Test2 {
	public static void main(String[] args) {
		System.out.println(new Test().pubStr);
		System.out.println(new Test().proStr);
		System.out.println(new Test().defStr);
	}
}

private修饰的属性无法被调用了
3.子类中(这里的子类是指不同包的子类)

package test2;

import test.Test;
public class Test2 extends Test{
	public void teach() {
		System.out.println(super.proStr);
		System.out.println(super.pubStr);
	}
}

private和default修饰的无法被调用了
4.不同包类中

import test.Test;

public class Test2{
	public void teach() {	
		System.out.println(new Test().pubStr);
	}
}

只有public修饰的属性可以被调用了。
总结一下:

调用属性/方法的位置可被调用的属性/方法的修饰符
类中public,protected,default,private
同包类中public,protected,default
子类中(默认是不同包子类)public,protected
不同包类中public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值