1.类的权限:关键字:public和默认(由高到低)。由这两个修饰符修饰的类分别称为public(公共)类和友好(默认或缺省)类。public类可以所有的类访问,而友好类只能被同一个包中的类访问。即:任何类都可以调用public类创建对象,而在同一个包中的类才可以调用public类创建对象。eg:
public class Callee{
}
class Calling{
}
任何类都可以调用Callee类来创建一个实例;
class Callee{
}
class Calling{
}
只有Calling类和Callee类在同一个包中才可以调用Callee来创建实例;
2.类成员的权限:关键字:public、protected、友好(默认)、private(由高到低)。类成员包括成员变量和方法。有这四个修饰符修饰的类成员分别称为共有成员(共有变量和共有方法)、受保护的成员、友好成员、私有成员。对于类成员的访问权限,公有成员可以被所有类所访问;受保护的成员可以被除了不同包中的非子类的所有类访问(受保护的成员不能被不同包中的非子类所访问,不同包中的子类可以);友好成员能被同一包中的所有类所访问,不能被不同包中的类访问;private只能被类本身访问(注意同一包中的子类也不行,因为子类只能继承除私有成员以外的成员);
3.两者之间的关系:类的访问权限先于成员的访问权限。原因:如果一个类A不能被另一个类B访问,自然类A的成员不能被类B所访问,无论类A的成员是何种权限。只有在类的权限满足的情况下才考虑成员权限。