访问本地类中的隐藏变量

2023-12-15

我是 Java 新手,我对下面的示例感到困惑

public class Test {
 
   int testOne(){  //member method
       int x=5;
       class inTest  // local class in member method
       {
           void inTestOne(int x){
               System.out.print("x is "+x);
               // System.out.print("this.x is "+this.x);
           }
       }
       inTest ins=new inTest(); // create an instance of inTest local class (inner class)
       ins.inTestOne(10);
       return 0;
   }

   public static void main(String[] args) {
       Test obj = new Test();
       obj.testOne();
   }
}

为什么我无法使用第 8 行中的“this”关键字访问 inTestOne() 方法中的隐藏变量?


为什么我无法使用第 8 行中的“this”关键字访问 inTestOne() 方法中的隐藏变量?

Because x is not类的成员变量;它是一个local多变的。关键词this可用于访问类的成员字段,而不是局部变量。

一旦变量被隐藏,您就无法访问它。这是可以的,因为变量和局部内部类都可以由你来改变;如果你想访问隐藏的变量,你需要做的就是重命名它(或者重命名隐藏它的变量,无论什么对你来说更有意义)。

注意:不要忘记标记局部变量final,否则即使它没有被遮蔽,您也将无法访问它。

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

访问本地类中的隐藏变量 的相关文章

  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • 如何在java中使jpeg无损?

    有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
  • 为什么 ConcurrentHashMap::putIfAbsent 比 ConcurrentHashMap::computeIfAbsent 更快?

    使用 ConcurrentHashMap 我发现computeIfAbsent 比putIfAbsent 慢两倍 这是简单的测试 import java util ArrayList import java util List import
  • tomcat 过滤所有 web 应用程序

    问题 我想对所有网络应用程序进行过滤 我创建了一个过滤器来监视对 apache tomcat 服务器的请求 举例来说 它称为 MyFilter 我在 netbeans 中创建了它 它创建了 2 个独立的目录 webpages contain
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • 从 Java 日历迁移到 Joda 日期时间

    以前 当我第一次设计股票应用相关软件时 我决定使用java util Date表示股票的日期 时间信息 后来我体会到了大部分方法java util Date已弃用 因此 很快 我重构了所有代码以利用java util Calendar 然而
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • 从 Stax XMLStreamReader 读取以解组部分

    我正在使用 Stax 游标 API 从大型 xml 文件中提取数据 当前 我转到特殊标签的开头并使用 JAXB 解组该标签 这对于格式良好的 xml 文件效果很好 但不久前我有一个文档 其中数十万个标签中有一个未关闭 JAXB 使用 XML
  • 使用 Java 从 S3 上的文件在 S3 上创建 zip 文件

    我在 S3 上有很多文件 需要对其进行压缩 然后通过 S3 提供压缩文件 目前 我将它们从流压缩到本地文件 然后再次上传该文件 这会占用大量磁盘空间 因为每个文件大约有 3 10MB 而且我必须压缩多达 100 000 个文件 所以一个 z
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • 从一个文本文件中获取数据并将其移动到新的文本文件

    我有一个文件 里面有数据 在我的主要方法中 我读入文件并关闭文件 我调用另一种方法 在原始文件的同一文件夹内创建一个新文件 所以现在我有两个文件 原始文件和通过我调用的方法生成的文件 我需要另一种方法 从原始文件中获取数据并将其写入创建的新
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • Java中有类似分支/跳转表的东西吗?

    Java有类似分支表或跳转表的东西吗 分支表或跳转表是 根据维基百科 http en wikipedia org wiki Branch table 用于描述使用分支指令表将程序控制 分支 转移到程序的另一部分 或可能已动态加载的不同程序

随机推荐

  • 如何将汇编代码片段转换为二进制机器代码片段?

    是否可以自动将 x86 汇编代码片段 非完整程序 转换为相应的二进制机器代码片段 例如 xor eax eax mov ebx 12 eax into 31 c0 89 43 0c 我真的只需要相应的字节集 通常我必须查看一些指令集参考并手
  • 从 STL 文件渲染 2D 图像

    我想加载 STL 文件并生成一组不同旋转的 2D 图像 我了解了使用 numpy stl 的基础知识this例如 最终得到这个代码 from stl import mesh from mpl toolkits import mplot3d
  • 如何在保持透明度的情况下旋转GD图像库中的图像?

    我正在为我的网站制作一个皮肤预览器 我需要旋转图像的某些部分来创建该图像的表示形式以供用户查看 皮肤是一个PNG文件 它的所有部分可能都是透明的 甚至根本没有 我需要能够旋转该图像 同时保持图像内部的任何透明度透明 同时还使扩展边框 您知道
  • 当我单击表单中的按钮时提交表单。如何避免这种情况?

    我使用 twitter bootstrap 并且我想使用这些单选按钮以我的形式 问题是当我单击这些按钮中的任何一个时 表单都会立即提交 如何避免这种情况 我只想使用默认按钮 例如单选按钮 from div class control gro
  • 检查返回代码(或其他代码)以确保 MSI 已正确安装

    我正在使用 NSIS 安装一些 MSI 我在用着ExecWait msiexec passive liare SETUP LOG FILE i TEMP MyMsi msi 当 MSI 与已安装的应用程序版本相同时 安装会失败 已安装此产品
  • 删除 Django Rest Framework 响应中的标头

    我正在尝试删除Server来自 django Rest Framework 响应的标头 但我没有找到简单的方法 所以我创建了一个中间件来删除它 这是我的第一次尝试 中间件 py class RemoveHeaders object def
  • Vue.js 3 - 尝试构建一个具有 2 种布局的系统

    我是 vue js 初学者 3 我尝试构建一个具有两种布局的系统 1 对于已连接的用户 1 表示未连接的用户 在我的 router index js 中 我为每个路由添加一个元 const routes path name Home met
  • webview_flutter:未捕获(承诺中)NotAllowedError:写入权限被拒绝

    预期行为 使用复制文本Copy to clipboard从网站 行为 它会抛出以下错误 并且文本不会复制到 android 剪贴板 包 webview flutter I chromium 12065 INFO CONSOLE 0 Unca
  • Excel VBA - 退出for循环

    我想退出我的for当满足内部条件时循环 我怎样才能退出我的for循环时if条件已满足 我认为在我的人生结束时会有某种出口if声明 但不知道这将如何运作 Dim i As Long For i 1 To 50 Range B i Select
  • 使用 dataTable.js Bootstrap 表排序、过滤、分页

    我正在开发 asp net MVC 5 并创建了一个 Bootstrap 表来显示数据 现在我想应用分页 过滤和排序 为此我搜索了五篇文章并找到了这个链接 此链接中的技术非常简单 与我在项目中所做的相同 下面我已经包括了我的 js and
  • C 如何计算 sin() 和其他数学函数?

    我一直在研究 NET 反汇编和 GCC 源代码 但似乎找不到任何实际实现sin 和其他数学函数 它们似乎总是引用其他东西 谁能帮我找到他们吗 我觉得不太可能所有运行C的硬件都支持硬件中的三角函数 所以必须有一个软件算法某处 正确的 我知道有
  • “尽早失败”这句话是什么意思?您想什么时候这样做?

    尽早失败 这个表达是什么意思 在什么情况下这种方法最有用 什么时候你会避免这种方法 本质上 快速失败 又名早早失败 是对您的软件进行编码 以便 当出现问题时 软件会失败立刻 and 明显地如可能的 而不是试图在可能不稳定的状态下继续进行 快
  • 在Python中,如何将数字和字符串转换为字节数组?

    我想将一组配置选项编码为一长串十六进制数字 输入是数字 整数和浮点数 和字符串的混合 我可以用binascii a2b hex从字符串的标准库 整数的按位运算符 如果我去阅读一些关于浮点表示的内容 叹气 我可能也可以处理浮点数 现在 我的问
  • iOS Sprite Kit 碰撞与元素移动

    是否可以使用 Sprite 套件的物理主体进行元素碰撞并仍然允许元素相互穿过 我感兴趣的是仅当两个边界相互碰撞时才调用委托 然后允许它们相互穿过 是的 这是可能的 您可以注册对象之间碰撞的回调 但不会让碰撞影响对象本身 Raywenderl
  • 右键单击 Silverlight 4 应用程序中的列表框

    我正在尝试在 Winforms 应用程序中实现我以前认为理所当然的功能 我是一名 Silverlight 菜鸟 所以希望这一切都是基础知识 我在 Silverlight 4 应用程序中有一个列表框 我想做以下事情 右键单击列表框 让该项目位
  • 为什么 Promise 是 Monad?

    我一直在学习函数式编程 并且接触过 Monad Functor 和 Applicatives 根据我的理解 以下定义适用 a A gt B gt C A gt C B 函子 b A gt C B gt C A gt C B 单子 c C A
  • JQuery关键字“this”没有获取属性值

    我正在使用 JQuery 关键字 this 我遇到了一些我不明白的事情 这是我的代码 a jQuery com a
  • 如何使用 createBottomTabNavigator 对 React Navigation 过渡进行动画处理?

    我花了最后一天的时间试图找出如何使用反应导航实现简单的淡入淡出屏幕转换 但我找不到一种方法让它与底部选项卡导航器一起使用 有人可以帮我吗 我已经广泛阅读了文档 但动画似乎只能通过堆栈导航器使用 你能在这个小吃演示中进行过渡吗 只需创建一个A
  • Python 2.7 和 PyDev - matplotlib 和 NumPy 不起作用

    我正在尝试使用 Python 2 7 和 Eclipse 以及 PyDev 插件让 matplotlib 在 Windows 7 64 位 下工作 我安装了 NumPyhttp www lfd uci edu gohlke pythonli
  • 访问本地类中的隐藏变量

    我是 Java 新手 我对下面的示例感到困惑 public class Test int testOne member method int x 5 class inTest local class in member method voi