如何在公共方法中创建私有变量

Posted

技术标签:

【中文标题】如何在公共方法中创建私有变量【英文标题】:How to make a private variable in a public method 【发布时间】:2014-10-06 06:17:11 【问题描述】:

我有一个公共方法,但里面有一个变量,我不希望其他类访问。我可以这样吗?

public static void example() 
    private 
        String privateString = "Can I do it like this?";
    

谢谢。

【问题讨论】:

【参考方案1】:

在方法中声明的变量是局部的,这个变量的范围仅在一个主体内。所以不需要将其设为私有

public void show() 
String x="Hii"; //<--like this 

变量 x 是该方法的本地变量。以便没有人可以访问此变量。 我们也可以在班级级别将其设为私有

   class Global

   private String x="hii";
   public static void main(String... n)

   System.out.println("x ="+x);

我们在类内的任何地方都使用这个变量,但我们不能在类外访问。

【讨论】:

【参考方案2】:

局部变量的作用域是声明它的方法(或构造函数)。没有其他方法可以访问它。你的问题不是问题。

【讨论】:

【参考方案3】:

不需要,方法局部变量是局部的。

public static void example() 
  String privateString = "Can I do it like this?"; // <-- like this

或者,您可以将其设置为对同一类中的每个方法可见的类级别变量,

private static String privateString = "Can I do it like this?";

【讨论】:

我认为您的最后评论有点模棱两可。我猜你的意思是变量应该是一个类变量。 @ScaryWombat 这并不奇怪,英语本来就是模棱两可的。编辑以尝试澄清;但是,我的意思是变量可以是一个类级别的变量。【参考方案4】:

private 用于类作用域变量(和方法)。该方法的本地声明变量的范围仅限于该方法(因此它已经有点私有)。

【讨论】:

以上是关于如何在公共方法中创建私有变量的主要内容,如果未能解决你的问题,请参考以下文章

带有 Getter/Setter 的私有列表与公共列表

在 Amazon S3 中将在 aws3 存储桶中创建的文件夹设为公共或私有文件夹

在Docker中创建私有仓库

是否可以在私有方法中定义公共变量?

在 PHP 中,为啥可以在同一类类型的方法中创建的新实例上调用私有方法? [复制]

我可以在公共方法中声明私有变量吗?