Java private方法访问

2023-11-08

     大家知道,Java中private修饰符修饰的方法或属性,只有在该类内可以访问,其他类均无法访问。事实真的是这样吗?下面一个例子可以实现访问一个类中的private方法,原理是通过Java的反射机制,感觉Java反射机制在这点似乎不太安全。

 

一个只有一个私有方法的类:

  1. package net.moon.demo.reflect;
  2. public class PrivateMethod{
  3.     private String sayHello(String name){
  4.         return "Hello, " + name;
  5.     }   
  6. }

另外一个类,来调用PrivateMethod类中的私有的sayHello

  1. package net.moon.demo.reflect;
  2. import java.lang.reflect.*;
  3. public class CallPrivateMethod{
  4.     public static void main(String[] args){
  5.         try{
  6.             Class c = Class.forName("net.moon.demo.reflect.PrivateMethod");
  7.             Method m = c.getDeclaredMethod("sayHello", String.class);
  8.             m.setAccessible(true);
  9.             System.out.println(m.invoke(c.newInstance(), "moon"));
  10.         }catch(Exception e){
  11.             System.out.println(e);
  12.         }
  13.     }   
  14. }

编译并执行,你会看到奇迹的。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java private方法访问 的相关文章

  • 如何在 Java 中访问嵌套的 HashMap?

    我有一个 Java 中的 HashMap 其中的内容 你们可能都知道 可以通过以下方式访问 HashMap get keyname 如果一个 HashMap 位于另一个 HashMap 中 即嵌套的 HashMap 我将如何访问内容 我可以
  • 如何在Java中优雅地处理SIGKILL信号

    当程序收到终止信号时如何处理清理 例如 我连接到一个应用程序 希望任何第三方应用程序 我的应用程序 发送finish注销时的命令 发送该信息最好说什么finish当我的应用程序被破坏时的命令kill 9 编辑1 kill 9无法被捕获 谢谢
  • 迁移到Java 9或更高版本时是否需要切换到模块?

    我们目前正在从 Java 8 迁移到 Java 11 但是 升级我们的服务并没有我们预期的那么痛苦 我们基本上只需要更改我们的版本号build gradle文件和服务都顺利启动并运行 我们升级了库以及使用这些库的 微 服务 到目前为止没有问
  • 如何将现有的 SQLite3 数据库导入 Room?

    好吧 我在桌面上使用 SQLite3 创建了一个只需要读取的某些信息的数据库 我正在制作的应用程序不需要在此表中插入或删除信息 我在 Room 数据库层上做了相当多的谷歌搜索 所有文档都需要在构建应用程序时在 Room 中创建一个新的数据库
  • OpenNLP 与斯坦福 CoreNLP

    我一直在对这两个包进行一些比较 但不确定该往哪个方向走 我简单地寻找的是 命名实体识别 人 地点 组织等 性别识别 一个不错的训练 API 据我所知 OpenNLP 和斯坦福 CoreNLP 提供了非常相似的功能 然而 Stanford C
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • 使用 JAX-WS 的 WebLogic 中没有模式导入的单个 WSDL

    如何使用 JAX WS 配置由 WebLogic 10 3 6 生成的 Web 服务 以将对象架构包含在单个 WSDL 文件声明 而不是导入声明 中 示例代码 界面 import javax ejb Local Local public i
  • maven 无法下载 jacoco 0.7.10-SNAPSHOT jar

    我对此感到困惑 我的 pom xml 中有这个
  • 正则表达式在 Velocity 模板中不起作用

    我在 Test java 中尝试过这个 String regex lt s br s s gt String test1 lt br gt System out println test replaceAll regex 但是当我在速度模板
  • Cucumber DataTable 错误 - io.cucumber.datatable.UndefinedDataTableTypeException:无法将 DataTable 转换为 cucumber.api.DataTable

    尝试使用 cucumber selenium java intelliJ 运行场景 但在其中一个步骤中出现有关 DataTable 的错误 在我开始使用测试运行程序并更改周围的一些内容之前 数据表工作正常并正确转换该步骤的参数 但我就是无法
  • 更改 JComboBox 中滚动条的大小

    有谁知道如何手动更改 jComboBox 中的滚动条大小 我已经尝试了一大堆东西 但没有任何效果 好吧 我明白了 您可以实现 PopUpMenuListener 并使用它 public void popupMenuWillBecomeVis
  • 是否有最新的 Facebook Java SDK? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 好像没找到最近更新的 如果没有 是否有一个好的 Java 库来执行与 Facebook 的 API 交
  • 多线程——更快的方法?

    我有一堂有吸气剂的课程getInt 和一个二传手setInt 在某个领域 比如说领域 Integer Int 一个类的一个对象 比如说SomeClass The setInt 这里是同步的 getInt isn t 我正在更新的值Int来自
  • Java和手动执行finalize

    如果我打电话finalize 在我的程序代码中的一个对象上 JVM当垃圾收集器处理这个对象时仍然再次运行该方法吗 这是一个大概的例子 MyObject m new MyObject m finalize m null System gc 是
  • Java String ReplaceAll 方法给出非法重复错误?

    我有一个字符串 当我尝试运行时replaceAll方法 我收到这个奇怪的错误 String str something op str str replaceAll o n it works fine str str replaceAll n
  • Java 中的微分方程

    我正在尝试用java创建一个简单的SIR流行病模型模拟程序 基本上 SIR 由三个微分方程组定义 S t l t S t I t l t S t g t I t R t g t I t S 易感人群 I 感染人群 R 康复人群 l t c
  • 为什么我不能将 Collection 转换为 Collection>

    问题的关键是 为什么这会导致编译时错误 List
  • Jackson 反序列化相当于 @JsonUnwrapped 吗?

    假设我有以下课程 public class Parent public int age JsonUnwrapped public Name name 生成 JSON age 18 first Joey last Sixpack 我如何将其反
  • @Embeddable 中的 @GenerateValue

    我已将实体的 id 分离到一个单独的 Embeddable 类中 该实体如下 Entity Table name users public class Users EmbeddedId private Users pk id private
  • 如何使用 Jest 从 ElasticSearch 获取索引列表

    我正在尝试使用 Jest 检索索引列表 但我只得到 Stats statistics new Stats Builder build result client execute statistics 如何从结果中检索索引列表 除了统计之外

随机推荐

  • python冲击二级---基本库turtle,海龟绘图详解,史上最全,没有之一

    turtle 海龟绘图 海龟绘图很适合用来引导孩子学习编程 最初来自于 Wally Feurzeig Seymour Papert 和 Cynthia Solomon 于1967 年所创造的 Logo 编程语言 请想象绘图区有一只机器海龟
  • 软工实习日记14

    今天的主要工作是使用shiro框架实现权限管理以及熟悉springcloud eureka 下面将给出关键代码和流程 controller层 LoginController java PostMapping login public Str
  • AI绘画 stable diffusion Midjourney 官方GPT文档 AIGC百科全书资料收集

    教学AI绘画 AIGC工具 SD教程 推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画 AI讲话 翻译 GPU点亮AI想象空间 AIGC和
  • Prometheus 源码解读(一)

    Prometheus 源码解读 一 Prometheus 是云原生监控领域的事实标准 越来越多的开源项目开始支持 Prometheus 监控数据格式 从本篇开始 我将和大家一起阅读分析 Prometheus 源码 学习 Prometheus
  • 置换环算法

    置换环算法 2023 05 22 这是由abc302 G所带来新的算法学习 置换环 虽然但是我还是没弄懂G是怎么写的 烦死啦 置换环的作用 求出通过交换数组的元素的最少次数 来得到按照某种指定规则进行排序的数组 核心思想 将每个位置 i 上
  • 一次Binder通信最大可以传输多大的数据?

    前言 在第六章中 我通过匿名共享内存的方式解决Binder通信是无法传递大数据的问题 一次Binder通信最大可以传输是1MB 8KB PS 8k是两个pagesize 一个pagesize是申请物理内存的最小单元 但是这个答案对不对呢 我
  • Qt编程遇到的typedef

    一 主要用法 1 定义一种类型的别名 typedef char Pchar 那么char a等价于Pchar a 用typedef定义变量别名的好处在于如果遇到不同平台对数据类型的不同支持 可以只在typedef定义处进行修改 2 方便结构
  • pkg-config 用法简介

    pkg config 用法简介 当我们写代码时 经常会调用第三方的库 这些第三方的库的安装路径在每台电脑上可能都会不同 所以如果我们把这些库的路径写死 那么别人拿到我们的代码编译时就会遇到各种问题 为了解决这个问题 就有了 pkg conf
  • Oracle 11g 下载及安装教程

    下载Oracle 11g R2 for Windows版本 官网的下载地址 Oracle 1of 2 Oracle 2of 2 但是亲测该服务器为美国服务器 下载速度简直不要太难受 因此附上网盘链接 Oracle百度网盘下载地址 点击自动跳
  • Spring MVC 教程,快速入门,深入分析

    资源下载 Spring MVC 教程 快速入门 深入分析V1 1 pdf SpringMVC核心配置文件示例 rar 作者 赵磊 博客 http elf8848 iteye com 目录 一 前言 二 spring mvc 核心类与接口 三
  • TP5 Fatal error: Class 'think\Route' not found

    1 使用验证码了时 使用Composer安装think captcha扩展包 composer require topthink think captcha 报错 Fatal error Class Route not found in D
  • Java实现在线打开编辑保存PPT

    项目中有时会需要在线打开PPT并编辑保存 pageoffice可以完美调用本地office在线打开ppt文件 跟本地打开效果一样 还可以在线打开word excel pdf等文件 在线办公系统需要用到的功能基本都可以实现 效果还是挺不错的
  • 知乎搬运副业项目,适合新手的创业项目

    今天刷抖音发现一个账号 主要写知乎故事的 只有4个作品 涨粉700多 点赞2600 在抖音上搜索了一下 发现有一些类似的账号 作品不多 但涨粉蛮快的 看来这种账号蛮受大家欢迎的 是个不错的网络创业项目 经朋友分析测试 找知乎热门故事做素材涨
  • Android-Tangram模型:淘宝、天猫都在用的UI框架模型你一定要懂

    3 应用场景 常规业务 中 复杂的布局格式混排 如 浮动布局 栏格布局 通栏布局 一拖N布局 瀑布流布局 还可以组合使用这些布局 具体场景是 如电商平台首页 活动频道等等 Tangram 模型目前已在手机天猫 淘宝 Android 版内广泛
  • org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state wo

    90 的hive数据库初始化失败的原因都是配置文件没整明白 咱们可以看看hive env sh template 这句话的意思是 lt 警告 这个文件是自动生成的 只用于文档的目的 gt lt 警告 你对这个文件所做的任何修改都将被Hive
  • VCSA服务重启命令

    Sphere Web Client界面的服务分别是 vmware mbcs vmware netdumper vmware rbd watchdog 分别执行命令确认 首先执行命令 service control status vmware
  • python实现-逆波兰式-进阶-基本计算器

    作者 芝士小熊饼干 系列专栏 数据结构 蓝桥杯 算法 坚持天数 21天 逆波兰式 chat gpt分析 逆波兰表达式 Reverse Polish Notation RPN 也称为后缀表达式 是一种不需要括号来表示运算符优先级的数学表达式表
  • 【BingGPT对话记录】基于格的密码学简介

    格密码学是一种基于格 lattice 的数学结构的密码学分支 它具有抵抗量子计算攻击的特性 格是一个由线性无关向量生成的离散点集 可以用来描述许多复杂的几何和代数问题 格密码学的安全性通常建立在最坏情况下的难度假设上 即即使给定最优化算法
  • 4.Docker网络配置

    网络相关 IP 子网掩码 网关 DNS 端口号 子网掩码 互联网是由许多小型网络构成的 每个网络上都有许多主机 这样便构成了一个有层次的结构 IP 地址在设计时就考虑到地址分配的层次特点 将每个 IP 地址都分割成网络号和主机号两部分 以便
  • Java private方法访问

    大家知道 Java中private修饰符修饰的方法或属性 只有在该类内可以访问 其他类均无法访问 事实真的是这样吗 下面一个例子可以实现访问一个类中的private方法 原理是通过Java的反射机制 感觉Java反射机制在这点似乎不太安全