java - 通过方法传递类的属性或局部变量哪个更好?

标签 java class

如果一个变量通过多个方法传递,但仅在最后一个方法中使用;将此变量声明为类的属性是否更好?

我觉得这个问题最好通过例子来问,所以:

示例#1

public class eg1 {
    private int circleSize;

    void a() {
        circleSize = ...
        b();
    }

    void b() {
        ...
        c();
    }

    void c() {
        ... circleSize ...
    }
}

示例#2

public class eg2 {
    void a() {
        int circleSize = ...
        b(circleSize);
    }

    void b(int circleSize) {
        ...
        c(circleSize);
    }

    void c(int circleSize) {
        ... circleSize ...
    }
}

是否应该使用某种特定的方法?为什么?

编辑:似乎这个问题是基于情境和意见的。无论采用哪种方式,都提出了一些好的观点。

最佳答案

如果您只想在一个方法中使用该变量,则无需将其设为私有(private),这样会将其公开给所有其他方法。 通过选择传递变量而不是将其设置为私有(private):

  1. 避免将其暴露给其他方法
  2. 您的代码更易于阅读,因为您无需查看变量的更改位置
  3. 避免为类添加不必要的属性

关于java - 通过方法传递类的属性或局部变量哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47913049/

相关文章:

java - HashMap.java源代码

java - FTP 文件服务器上传警报

python - python中获取类对象的生命周期

c# - C# 如何返回结构体

c++ - 内存中静态方法和非静态函数的区别

java - Guice:通过方法创建对象

Java、LDAP、ADAM - 如何创建名称中包含正斜杠的容器

java - 如何使用 J2ME 在 Mobile MIDP 上选择文件?

java - 为什么我的数组会出现 NullPointer 异常?

java - 无法在 Glassfish 中获取 Oracle 连接