Java中访问控制符

说明:

Java中提供了四种访问控制符,分别是private,default,protected和public,其访问控制级别从小到大如图所示:

(1)private:(当前类访问权限)

用private修饰的变量或方法只能被该类自身所访问和修改,而且不能被其他任何类(包括该类的子类)来获取和引用。很显然,private用来修饰成员变量最合适,使用它来修饰成员变量就可以把成员变量隐藏在该类的内部。

(2)default:(包访问权限)

用default修饰的成员变量或方法只能被同一个包中的类访问和引用,而不可以被其他包中的类使用。这种访问特性又称为包访问性。其中default关键字可以省略,即没有访问控制符就是使用了default默认修饰符。

(3)protected:(子类访问权限)

用protected修饰的成员变量或方法可以被三种类所引用:该类自身,与它在同一个包中的其他类,在其他包中该类的子类。使用portected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。通常情况下,如果使用protected来修饰一个方法,则是希望其子类重写这个方法。

(4)public:(公共访问权限)

用public修饰的成员变量或方法,可以被所有类访问,不管访问类和被访问类是否处于同一个包中,是否具有父子继承关系,是最宽松的访问控制级别。public修饰符会造成安全性的数据封装性下降,所以一般较少public访问控制符的使用。

总结:

遵循数据私有化,方法公开化的原则。即属性私有,并提供相应的set和get方法。

在原始类中定义了private私有变量,若要在其他类中访问这些private私有变量,则需要在原始类中定义公开的方法,以供其他类访问这些私有变量。例如:

public class Student {
	private String name;
	private int age;
	private String stuID;
	
	
	public Student(String name,int age){
		this.name=name;
		this.age=age;
	}
	
	public Student(String name,int age,String stuID){
        this(name, age);
		this.stuID=stuID;
	}
	
	public String getName(){
		return this.name;
	}

}

在原始类Student中定义了private私有成员变量name,age,stuID。若要在别的类中访问私有成员变量name,则需要在该类中定义公开的方法getName()来获取该私有成员变量。同理,若要在其他类中修改原始类中的私有成员变量,也可以在原始类中定义公开的方法进行修改。总之,将数据进行封装,并且定义了修改和访问的方法,可以大大提高数据的安全性。

访问控制符权限表
修饰符本类同包类非同包子类所有类
private   
default  
protected 
public

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值