Java中的关键字“private”用于建立java代码块中类、方法或变量的可访问性限制。如果一个类、方法或变量在程序中被称为私有,则意味着特定的类、方法或变量不能被该类或方法的外部访问,这与公共方法不同。 Private 关键字通常在 Java 中完全封装的类中使用。
Java 中的私有关键字在特定类中工作。在课堂之外无法访问它。它在类/类和接口/接口之外不起作用。如果类的成员是 PRIVATE 并且在完全封装的类中也是如此,则 Private 关键字效果很好。 Private 关键字或变量或方法也可以使用某些访问修饰符来覆盖子类/类,以调用类外部的 PRIVATE METHOD。这样,私有关键字也可以仅使用私有访问修饰符在类之外工作。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
下面是一些私有修饰符的示例,如下:
这里我们以 Private Access Modifier 为例,由于从类 AB 访问私有数据成员,该示例显示编译错误,如下例所示。私有方法或私有成员只能在特定类中访问。
代码:
class AB{ private double number = 100; private int squares(int a){ return a*a; } } public class Main{ public static void main(String args[]){ AB obj = new AB(); System.out.println(obj.number); System.out.println(obj.squares(10)); } }
输出:
这是说明在以下程序中使用 PRIVATE 关键字的示例:
代码:
class Emp{ private int id1; private String name14; private int age14; public int getId1() { return id1; } public void setId(int id1) { this.id1 = id1; } public String getName14() { return name14; } public void setName14(String name14) { this.name14 = name14; } public int getAge14() { return age14; } public void setAge14(int age14) { this.age14 = age14; } } public class Main{ public static void main(String args[]){ Emp e=new Emp(); e.setId(1473); e.setName14("Pavan Kumar Sake"); e.setAge14(24); System.out.println(e.getId1()+" "+e.getName14()+" "+e.getAge14()); } }
输出:
在此示例中,您可以看到如何使用默认的访问修饰符将 PRIVATE METHOD 覆盖到子类。我们甚至不允许从子类调用父类方法。
代码:
class ABC{ private void msg() { System.out.println("Hey Buddy this is the parent class method"); //Output of the Private Method } } public class Main extends ABC{ // Private method is overridden using the access modifier void msg() { System.out.println("Buddy this is the child class method"); } public static void main(String args[]){ Main obj=new Main(); obj.msg(); } }
输出:
在此示例中,我说明不能在类外部调用/调用 PRIVATE METHOD。现在,私有方法通过更改类运行时行为从外部类调用。
代码:
import java.lang.reflect.Method; class ABC { private void display() { System.out.println("Hey Now private method is invoked/Called"); } } public class Main{ public static void main(String[] args)throws Exception{ Class d = Class.forName("ABC"); Object p= d.newInstance(); Method n =d.getDeclaredMethod("display", null); n.setAccessible(true); n.invoke(p, null); } }
输出:
这是 Java 编程语言中私有方法和字段的示例。这里私有方法在编译时使用静态绑定,甚至不能被覆盖。不要与 Private 变量输出混淆,因为 Private 变量实际上可以在内部类内部访问。如果在类外部调用 PRIVATE 变量,编译器肯定会产生错误。
代码:
public class Main { private String i_m_private1 = " \n Hey Buddy I am a private member and i am not even accessible outside of this Class"; private void privateMethod1() { System.out.println("Outer Class Private Method"); } public static void main(String args[]) { Main outerClass = new Main(); NestedClass nestc = outerClass.new NestedClass(); nestc.showPrivate(); //This syntax shows private method/methods are accessible inside the class/inner class. outerClass = nestc; nestc.privateMethod1(); //It don't call/invoke private method from the inner class because // you can not override the private method inside the inner class. } class NestedClass extends Main { public void showPrivate() { System.out.println("Now we are going to access Outer Class Private Method: " + i_m_private1); privateMethod1(); } private void privateMethod1() { System.out.println("Nested Class's Private Method"); } } }
输出:
下面我们将解释在 Java 中使用私有方法/字段的优点。
以下是您应该了解的一些私人规则和规定。
主题即将结束,我们实际上很高兴知道在 Java 中使用 Private Keyword 是多么有用和简单。在本文中,我希望您了解 private 关键字、私有变量、访问修饰符、私有构造函数,以及如何在程序中使用这些私有关键字。
以上是Java 中的私有的详细内容。更多信息请关注PHP中文网其他相关文章!