Java Public和Protected访问修饰符

Java Public和Protected访问修饰符

公共(public)和受保护(protected)访问修饰符决定了类或方法的成员可以被如何访问。这些修饰符在声明成员时附加。我们知道这些访问修饰符在Java面向对象的概念中起着重要作用,如封装(encapsulation)、多态(polymorphism)和继承(inheritance)。它有助于防止成员的功能被滥用。我们将通过示例程序来理解Java中的公共(public)和受保护(protected)访问修饰符。

Java中的访问修饰符

公共(public)访问修饰符

Java不限制公共(public)成员的访问性。任何声明为public的内容都可以在任何地方访问,这意味着我们可以在类内部和类外部以及包内部和包外部访问它们。您可能已经注意到,Java中的main()方法总是被定义为public,以便JVM可以在当前程序的任何范围之外调用它。

公共(public)访问修饰符的一些示例:

public int i1 = 108;
public double d2 = 6.55;

在这里,变量声明为public。

示例

以下示例说明了Java中的包成员如何工作。

class Pack {  
   public void prnt() { 
      // method declared as public 
      String msg = "I am inside a public method";
      System.out.print(msg);
   }  
}  
public class ClassShow extends Pack { 
   // public child class
   public static void main(String args[]) { 
      // creating object of child class
      ClassShow obj = new ClassShow();  
      // method calling through object of child class
      obj.prnt();
   }  
}

输出

I am inside a public method

在上面的代码中,类’Pack’是类’ClassShow’的父类。在父类中,我们声明了一个名为’prnt()’的公共方法来打印一条简单的消息。在子类的main()方法中,我们定义了一个子类’ClassShow’的对象来调用公共方法’prnt()’。在这里,子类也是public的。

受保护Protected访问修饰符

它主要用于继承的情况下,用于控制父类成员和相应子类成员的访问。它允许元素在当前包之外被访问,但只能在直接的子类中访问。在这里,包是保存一组类的容器。

受保护的访问修饰符的几个示例−

protected int data1 = 5;
protected double data2 = 5.55;

这里,变量声明为protected。

示例

以下示例说明了在Java中使用protected方法的方法。

class Pack {  
   protected void prnt() {
      String msg = "Tutorials Point!!";
      System.out.print("Welcome to " + msg);
   }  
}  
public class ClassShow extends Pack {  
   public static void main(String args[]) { 
      // creating object of child class
      ClassShow obj = new ClassShow();  
      // method calling through object of child class
      obj.prnt();  
   }  
}

输出

Welcome to Tutorials Point!!

在上述代码中,类’Pack’ 是 ‘ClassShow’ 的父类。在父类中,我们声明了一个受保护的方法名为 ‘prnt()’,用于打印一条简单的消息。在子类的main()方法中,我们定义了一个子类 ‘ClassShow’ 的对象来调用受保护的方法 ‘prnt()’。

Public与Protected访问修饰符的区别

从上述讨论中,我们可以得出以下公有和私有访问修饰符的区别:

Public Protected
我们需要使用关键字“public”来指定成员是公开的。 我们使用关键字“protected”来指定成员是受保护的。
我们可以将任何类定义为公开的。 不能将类定义为受保护的。
公开成员可以被包内的任何类以及包外的类访问。 受保护成员可以被包内的任何类以及其他包内的类访问。但在其他包内,只能被继承的类访问。
适用于顶级和成员级别。 只适用于成员级别。

结论

我们首先定义了public和protected访问修饰符,然后在后面的部分中详细解释了它们,并举了相应的示例。最后,我们讨论了它们之间的几个区别。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程