Java访问权限详解

访问权限

当用一个类创建了一个对象之后,该对象可以通过“.”运算符操作自己的变量、使用类中的方法,但对象操作自己的变量和使用类中的方法是有一定限制的。所谓访问权限是指对象是否可以通过“.”运算符操作自己的变量或通过“.”运算符使用类中的方法。

访问限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。

私有变量和私有方法

用关键字private修饰的成员变量和方法称为私有变量和私有方法。

对于私有成员变量或方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。

class Tom {

private float weight;

private float f(float a,float b){

return a+b;

}

}

class Jerry {

void g() {

Tom cat=new Tom();

cat.weight=23f; //非法

float sum=cat.f(3,4); //非法

}

}

共有变量和共有方法

用public修饰的成员变量和方法被称为共有变量和共有方法 。

我们在任何一个类中用类Tom创建了一个对象后,该对象能访问自己的public变量和类中的public方法(也可以通过类名来操作成员变量、方法) 。

class Tom {

public float weight;

public float f(float a,float b) {

return a+b;

}

}

class Jerry {

void g() {

Tom cat=new Tom();

cat.weight=23f; //合法

float sum=cat.f(3,4); //合法

}

}

受保护的变量和方法

用protected修饰的成员变量和方法被称为受保护的成员变量和受保护的方法 。

我们在任何一个类中用类Tom创建了一个对象后,如果这个类和类Tom在同一个包中,那么该对象能访问自己的protected变量和类中的protected方法。

class Tom {

protected float weight;

protected float f(float a,float b) {

return a+b;

}

}

class Jerry {

void g() {

Tom cat=new Tom();

cat.weight=23f; //合法

float sum=cat.f(3,4); //合法

}

}

友好变量和友好方法

不用private、public、protected修饰的成员变量和方法被称为友好变量和友好方法。

我们在任何一个类中用类Tom创建了一个对象后,如果这个类和类Tom在同一个包中,那么该对象能访问自己的友好变量和类中的友好方法。

class Tom {

float weight;

float f(float a,float b) {

return a+b;

}

}

class Jerry {

void g() {

Tom cat=new Tom();

cat.weight=23f; //合法

float sum=cat.f(3,4); //合法

}

}

Public类和友好类

类声明时,如果在关键字class前面加上public关键字,就称这样的类是一个public类 。

可以在任何另外一个类中,使用public类创建对象。

如果一个类不加public修饰,这样的类被称作友好类。

在另外一个类中使用友好类创建对象时,要保证它们是在同一包中。

注:

(1)不能用protected和private修饰类

(2)访问限制修饰符按访问权限从高到低的排列顺序是:public、ptotected、友好的、private。


原文链接:http://www.maiziedu.com/wiki/java/access/

你可能感兴趣的:(Java访问权限详解)