【问题标题】:Sending parameters to java constructor vs methods将参数发送到java构造函数与方法
【发布时间】:2019-07-02 06:50:18
【问题描述】:

我正在尝试了解以下两种 java 方法中更好的方法

方法一:

Class C1 {
    private final Properties props;
    C1(Properties p) {
        props = p;
    }

    public String method1() {
        //return some string using props
    }

    public void method2() {
       //do something using props
    }
}

方法二:

Class C1 {
   //Default Constructor

    public String method1(Properties props) {
        //return some string using props
    }

    public void method2(Properties props) {
       //do something using props
    }
}

我很想知道哪种方法比其他方法更好,以及为什么

  1. 我打算只实例化这个类一次。
  2. 我必须多次实例化这个类

【问题讨论】:

  • 这取决于具体情况。两种方法的 props 值可以不同吗?
  • 这取决于属性是否始终相同 - 第一种方法,否则第二种方法
  • C1 真的是 C1 的依赖项吗? C1 可以没有属性而存在吗?如果不是,那么构造函数是更好的方法注入。
  • 这里没有更好的方法,而是根据您的要求和整体设计更适合的不同方法。如果您想提供有用的答案,请指定上下文。
  • 这些方法有什么作用?您需要进一步解释,因为这取决于...

标签: java methods parameters class-constructors


【解决方案1】:

当您使用 Approach1 时,您在使用类的方法时不必考虑属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 2014-09-10
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2013-10-04
    相关资源
    最近更新 更多