private
如果一个类的成员变量或者方法被修饰为private,则只能在该类中使用,也就是被this加点号访问或直接执行(
此处没考虑static的情况)。子类和其他类中不能访问。
public
public在本类、同一个包中的其他类与子类中以及其他包中的类中都可以访问,具有跨包访问权限。
新建一个包名为Package的包,然后在Package中定义类Catag
package Package;
public class Catag {
public int and(int x,int y)
{
return x+y;
}
}
import Package.*;//或import Package.Catag;
public class MainClass {
public static void main(String[] args)
{
HelloWorld hwInstant = new HelloWorld();
hwInstant.print("Hello Java");
Catag catag = new Catag();
int result = catag.and(1,2);
hwInstant.print("和:"+result);
}
}
MainClass是定义在默认包下的类,HelloWorld也位于同一包下
public class HelloWorld {
private void say(String str)
{
System.out.println(str);
}
void print(String str)
{
this.say(str);
}
}
protected
protected权限介于private与public之间,被它修饰的成员对本类和同一包下的所有类是可见的,但对于其他包下得类和子类不可见。