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关键字的使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
<🎜>:死铁路 - 如何完成所有挑战
4 周前ByDDD
Atomfall指南:项目位置,任务指南和技巧
4 周前ByDDD

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom编辑器mac版下载
最流行的的开源编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3汉化版
中文版,非常好用

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)