详解java中private关键字的使用方法

互联网 20-3-13

private 关键字中文就是私有关键字,那么到底要怎么使用呢?

1、只能在同一类中访问

class A {     private String msg="Try to access the private variable outside the class"; // 用 private 修饰,无法别的类调用,只能在这个类中被调用 }   public class PrivateExample {     public static void main(String[] args) {         A a=new A();         System.out.println(a.msg);     } }

推荐教程:java快速入门

运行结果:(报错)     Exception in thread "main" java.lang.Error: Unresolved compilation problem:  	The field A.msg is not visible

2、不能分配给外部类和接口

private class PrivateExample {  // private 是不能用来修饰类的     void display(){         System.out.println("Try to access outer private class");     }     public static void main(String[] args) {         PrivateExample3 p=new PrivateExample();         p.display();     } }
运行结果:(报错)     Exception in thread "main" java.lang.Error: Unresolved compilation problem:

3、创建完全封装的类

private关键字的最佳用法是通过使该类的所有数据成员变为私有来在Java中创建一个完全封装的类。

import java.lang.reflect.Method;   class A {     private void display() {         System.out.println("private method is invoked");     } }       		    public class PrivateExample {     public static void main(String[] args)throws Exception {           Class c = Class.forName("A");  // 加载 A 类           Object o= c.newInstance();  // 实例化对象           Method m =c.getDeclaredMethod("display", null);  // getDeclaredMethod方法返回指定方法,"display" 就是指定方法,null 表示该方法的参数           m.setAccessible(true);  // setAccessible 方法能在运行时压制 Java 语言访问控制检查,从而能任意调用被私有化保护的方法 ( Method ),域 ( Field )、构造方法                  m.invoke(o, null);  //  invoke方法来执行对象的某个方法,括号中的 o 是方法,null 是参数     }     }
运行结果: 	private method is invoked

相关视频教程推荐:java视频教程

以上就是详解java中private关键字的使用方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: private
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:vue-cli+express获取mongodb数据的方法介绍

相关资讯