【问题标题】:How to access variables of a method in a different class in Java?如何访问Java中不同类中方法的变量?
【发布时间】:2016-04-24 13:47:21
【问题描述】:

我在方法内的类中有一些变量。如何从不同的类访问这些变量?

【问题讨论】:

  • 请给出最小、完整、可验证的例子:stackoverflow.com/help/mcve
  • 如果你的意思是局部变量,你无法从其他方法访问它们,更不用说其他类了。
  • 如果变量是本地的,那么你不能访问它们,除非它们是从方法返回的。如果变量是实例成员,那么您可以为相同的成员提供更好的。但是要小心,因为暴露内部结构可以让另一个类在所有者类的眼皮底下改变状态。在开始这条路线之前,请阅读有关复制构造函数及其邪恶表亲克隆的更多信息

标签: java class variables methods scope


【解决方案1】:

在 Java 中,在方法内声明的变量的作用域仅限于该方法:它们不能在方法外访问,即使在同一个类中也是如此。

在这种情况下,如果你想从外部访问它们,这意味着它们的位置可能不是作为方法的变量,而是作为类的成员,即声明为类的属性的“变量”,像这样:

class Example {

   public int field; 

}

如果你指的是成员,那么你是否可以从类外访问这个字段取决于你在字段声明前面写的内容:

  • public : 字段可以在课堂外访问
  • protected : 字段只能在扩展此类的类中访问
  • private : 字段只能在该类中访问

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多