Java自学第七课值访问控制权限——自学笔记

类的访问控制权限

类访问控制权限只有两种,一种是public(公有类),一种是无修饰符的(默认类)。

当使用public修饰类时,所有的其他类都可以访问;当没有修饰符的时候,只有处于同一个保重的其他类可以访问。

类型 无修饰符 public
同一个包中的类 可以访问 可以访问
不同包中的类 不能访问 可以访问

在一个源程序文件中,最多只能有一个公有类即public class,且类名必须与源程序文件名相同。

类的成员变量访问控制权限

类的成员变量的访问权限和类的访问权限不同,成员变量的访问权限有4个,分别是 public、private、protected及无修饰符

  • public(公有类):用public修饰的变量表示是公有的,也就是这个变量可以被类外任何地方访问,前提是对这个类有访问权限,如果对这个类都没有访问权限的话,肯定也就访问不了类中的变量了。
  • private(私有的):用这个修饰符修饰后,变量只能在这个类中访问,在类外不能访问。
  • protected(受保护的):只有用一类以及他的子类的实例对象可以访问,可以说,这个修饰符是专门为继承所准备的修饰符。
  • 无修饰符(默认):不写修饰符默认是friendly,相应的成分可以被所在包中各类访问。
类型 private 无修饰符 protected public
同一类 可访问 可访问 可访问 可访问
同一包中的子类 不可访问 可以访问 可以访问 可以访问
同一包中非子类 不可访问 可访问 不可访问 可访问
不同包中的子类 不可访问 不可访问 可访问 可访问
不同包中非子类 不可访问 不可访问 不可访问 可访问

好的编程习惯一般不允许其他类直接存取或修改一个对象的实例变量,所以很少使用public,一般都用private。

get/set方法

变量被设为private后,其他类就不能直接通过 实例.变量名来取得变量了,那么我们需要给这个变量添加get和set方法,这两个方法是public的,所以可以通过 实例.get/setName方法();

get方法是取得这个变量的值,格式为:
public get(){
return 变量;
}
例如 public int getA(){
return a;
}

set方法是设置属性变量的值,格式为:
public void set(){
=;
}

例如 public void setA(int a){
A=a;//前者是实参,后者是形参,一般调用是为:实例.setA(想要设置的值);
}

猜你喜欢

转载自blog.csdn.net/weixin_42477031/article/details/83039479