java中访问控制符

package june1stDat;

public class Person {
	//定义了private的name和age属性只能在person类才可以操作和访问,在Person类之外只能通过各自的setter和getter方法来操作和访问
	private String name;
	private int age;
	private static int eyeNum;
	public void setName(String name)
	{
		if(name.length()>6 || name.length()<2)
		{
			System.out.println("您设置的name不符合要求");
		}
		else
		{
			this.name = name;
		}
	}
	public String getName()
	{
		return this.name;
	}
	public void setAge(int age)
	{
		if(age>100 || age<0)
		{
			System.out.println("您设置的age不合法");
		}
		else
		{
			this.age = age;
		}
	}
	public int getAge()
	{
		return this.age;
	}</span>
<span style="font-size:14px;">}</span>
<span style="font-size:14px;"><pre name="code" class="html">package june1stDat;

public class TestPerson {
	public static void main(String[] args) {
		Person p = new Person();
		p.setAge(1000);
		System.out.println("未能设置age属性是:"+p.getAge());//0
		p.setAge(30);
		System.out.println("成功设置age属性:"+p.getAge());//30
		p.setName("Zoe");
		System.out.println("成功设置name属性:"+p.getName());//Zoe
	
	}

}</span>
使用访问控制符:private,default,protected,public
1 private 访问控制级别:只能在该类的内部被访问,很显然,这个访问控制符用于修饰属性最合适,使用
他来修饰属性就可以把属性隐藏在类的内部
2 default访问控制权限,如果属性或者方法不使用任何修饰符,则是默认default修饰符,可以被相同包下
其他访问,
3 protected,可以被同一个包中其他类访问,也可以被不同包中的子类访问
4 public访问控制权限,这是一个最宽松的访问控制级别,可以被所有类访问

注意:对于局部变量而言,其作用域就是它所在的方法,不可能被其他类来访问,因此不能使用访问控制符
来修饰。
在定义了private变量之后,只能类内部成员来操作和访问,在该类之外只能通过各自对应的setter和getter
方法来操作和访问他们
注意:java类里的属性的setter和getter方法有非常重要的意义,例如某个类里包含了一个名为abc的属性,
则其对应的setter和getter方法名应为setAbc和getAbc,如果一个java类的每个属性都被使用private修饰,
 并为每个属性都提供public修饰setter和getter方法,这个类就是一个符合java规范的类。
 
关于访问控制符的使用,存在如下基本原则:
 1 类里的绝大部分属性都应该使用private修饰,除了一些static修饰的,类似全局变量的属性,才可能考虑
 使用public修饰符,除此之外,有些方法只是用于辅助实现该类的其他方法,这些方法被称为工具方法,工具
 方法也应该使用private修饰
 2 如果某个类主要用作其他类的父类,该类里包含的大部分方法可能仅仅希望被其子类重写,而不想被外界直
 接调用,则应该使用protected修饰这些方法
 3 希望暴露出来给其他类自由调用的方法应该使用public修饰,因此,类的构造器通过使用public修饰,暴露
 给其他类中创建该类的对象,因为顶级类通常都希望被其他类自由使用,所以大部分顶级类都用public修饰
 


 
 

猜你喜欢

转载自blog.csdn.net/u012989656/article/details/46315547