Java public和package访问修饰符

Java public和package访问修饰符

公共和package访问修饰符定义了变量、类和方法的作用域,即它们确定了类或方法的成员如何被访问。修饰符在声明时附加到成员上。我们知道,这些访问修饰符在Java的面向对象编程概念中起着重要作用,如封装、多态和继承。它有助于防止成员提供的功能被滥用。在本文中,我们将通过示例程序了解Java中的public和package访问修饰符。

Java中的访问修饰符

公共访问修饰符

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

一些公共访问修饰符的示例

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

在这里,变量被声明为公共的。

示例

下面的示例说明了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()’。这里,子类也是公共的。

包访问修饰符

也被称为默认访问修饰符。当我们没有明确指定类和方法的访问修饰符时,Java编译器会自动将其视为默认或包成员。我们可以在子类内部以及同一包中的其他类中访问这些成员。

包访问修饰符的几个示例:

int i1 = 108;
double d2 = 6.55;

在这里,变量被声明为默认或包。

示例

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

public class Overflw {
   static void methodA(int data1) { 
      // default method 1
      data1++;
      methodB(data1); 
      // calling methodB
   }
   static void methodB(int data1) {   
      // default method 2
      data1++;
      int data2 = 5; 
      // default member variable
      int mult = data1 * data2;
      System.out.println("Value of data1 and data2 multiplication is: " + mult);
   }
   public static void main(String []args) {
      int data1 = 0;  
      // variable with default modifier
      methodA(data1); 
      // calling methodA
   }
}

输出

Value of data1 and data2 multiplication is: 10

我们创建了两个参数化的用户定义方法,分别命名为’methodA’和’methodB’。在主方法中,我们声明并初始化一个整数变量’data1’为0,然后将其作为参数传递给’methodA’。现在,’methodA’用增加后的’data1’的值调用’methodB’。在’methodB’内部,我们计算了乘法并打印结果。

公共访问修饰符与包访问修饰符的区别

通过以上讨论,我们可以得出以下公共访问修饰符和包访问修饰符之间的不同点。

公共的 包级别的
我们需要使用关键字“public”来指定成员为公共的。 它不需要任何特定的关键字。
公共成员在包内和包外都可以访问。 包级别成员只能在同一包内访问。
它不提供任何限制。 它比公共访问修饰符更受限制。

结论

我们从定义公共和包访问修饰符开始本文,并在后续章节中详细解释了它们,并附有相应的示例。最后,我们讨论了它们之间的区别。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程