根据访问权限,分别产生了4 种变量和方法,具体如下:
➢ 用public 修饰的成员变量和方法称为公共变量和公共方法。
➢ 用protected 修饰的成员变量和方法被称为受保护的成员变量和受保护的方法。
➢ 不用任何修饰符的成员变量和方法被称为默认变量和默认方法。
➢ 用关键字private 修饰的成员变量和方法称为私有变量和私有方法。
成员变量、成员方法和构造方法可以处于public,protected,private 和默认这4个访问级别中的一个。类只可以处于public 或默认访问级别,任何类不能用private和protected 来修饰。以下代码会导致编译错误:
访问级别仅仅适用于类及类的成员,而不适用于局部变量。局部变量只能在方法内部被访问,不能用pubIic,protected 或private 来修饰。
如图4.4 所示,类ClassA 和ClassB 位于同一个包中,类ClassC 和ClassD 位于另一个包中,并且ClassC 是ClassA 的子类。ClassA 是public 类型,在ClassA 中定义了4 个成员变量:num1、num2、num3 和num4;4 个成员方法:a()、b()、c()和d()。它们分别处于4 个访问级别。
图4.4 ClassB,ClassC 和ClassD 访问ClassA 的成员变量和方法
在ClassA 中,可以访问自身的num1、num2、num3、num4 变量和a()、b()、c()、d()方法,代码如下:(www.daowen.com)
在ClassB 中,可以访问ClassA 中的num1、num2、num3 变量和a()、b()、c()方法,代码如下:
在ClassC 中,可以访问ClassA 中的num1、num2 变量和a()、b()方法,代码如下:
在ClassD 中,可以访问ClassA 中的num1 变量和a()方法,代码如下:
ClassB 是默认访问级别,位于mypack1 包中,只能被同一个包中的ClassA 访问,但不能被mypack2 包中的ClassC 和ClassD 访问,代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。