首页 > 代码库 > 权限控制
权限控制
权限控制主要是指某个类以及类中的成员变量和方法(包括成员方法和构造方法)能否被其他的类使用,以及在继承中其成员变量和方法能否被子类继承。权限控制修饰符主要有public、private、default和producted,其中只有public、default 可以修饰类。在同一个类中,成员方法总是可以访问该类中的成员变量,与修饰符无关。在编程中,一般将成员变量设成private,把成员方法设成public 。
1.公有访问修饰符:public
在java中,用public修饰的类,表示该类是公开类,可以被所有的其他类访问、使用和继承。但这并不表明,类中的变量和方法都是公共的。用public修饰的成员变量和方法是共有的,可以被所有的类访问。
示例:
public class Text{ public int x; public void setX(int x){ this.x=x; } public int getX(){ return x; } }
2.保护访问修饰符:protected
在java中,用protected 修饰的成员变量和方法被称为受保护的成员变量和方法。受保护的成员变量和方法可以被本类、同一包中的其他类访问和使用,也可以被同一包中的类或不同包中的类继承,但是不能被不同包中的类访问。
示例:
package com.aa public class Example{ protected int x; protectes void setX(int x){ this.x = x; } } package com.bb import com.aa; public class Test{ public static void main(String[] args){ Example a = new Example(); a.setX(4); System.out.println("x="+a.x); } }
3.默认访问修饰符:default
在java中,默认访问控制符也叫包访问控制符,他的访问规则和protected几乎一样。当一个类或类的成员没有任何访问限定修饰符时,其访问权限为默认类型。被default修饰的类和成员只能被类本身和同一包中的其他类访问和使用,被default修饰的类也只能被同一包中的其他类继承。
4.私有访问修饰符:private
在java中,用private修饰的成员变量和方法称为私有变量和私有方法,他们只能被该类自身所访问和调用,不能被继承。
示例:
public class Example{ private int x; private void setX(int x){ this.x = x; } public static void main(String[] args){ Example a = new Example(); a.setX(4); System.out.println("x="+a.x); } }
4种控制符访问权限见下表:
修饰符 | 类内部 | 同一包 | 子类 | 任何地方 |
private | 是 | |||
default | 是 | 是 | ||
protected | 是 | 是 | 是 | |
public | 是 | 是 | 是 | 是 |
在编程的过程中,一般将成员方法设成public,把成员变量设成private。这样,可以在任何类中通过该类公有的成员方法来访问或修改私有的成员变量,保证了程序的安全性和数据的封装性。
权限控制