为什么在Java中使用受保护的访问修饰符?
如果使用protected访问修饰符指定了类的数据成员和方法,则可以从相同的包或不同包中的子类访问它们。关键字protected用于指定此修饰符。
给出了一个演示Java中受保护的访问修饰符的程序,如下所示:
示例
class A { protected int a = 9; public void printA() { System.out.println("Value of a = " + a); } } public class Demo { public static void main(String args[]) { A obj = new A(); obj.a = 18; obj.printA(); } }
输出结果
Value of a = 18
现在让我们了解上面的程序。
类A具有受保护的数据成员a,可以从相同的包或不同包中的子类访问该数据成员。public方法printA()
显示a的值。演示此代码段如下:
class A { protected int a = 9; public void printA() { System.out.println("Value of a = " + a); } }
在main()
类Demo中的方法中,创建了类A的对象obj。obj.a的值被修改,这是可能的,因为它受保护并且修改是在同一包中完成的。然后printA()
调用方法。演示此代码段如下:
public class Demo { public static void main(String args[]) { A obj = new A(); obj.a = 18; obj.printA(); } }