【问题标题】:Most appreciate way to transfer static values?最欣赏传递静态值的方式?
【发布时间】:2016-09-10 04:49:11
【问题描述】:

从主应用程序传输静态值最受赞赏的方式是什么?

  1. 是否应该创建一个包含所有静态值的不同设置文件?
  2. 我注意到我可以使用静态值,即:

Application application = new Application();

  1. 我注意到我也可以在包含静态的主类中使用 return,即:
public getWeb() {
    return MY_STATIC;
}
  1. 或者我可以简单地通过调用 void 并使用被调用 void 的构造函数来传递它们,但我认为这是一个好方法,如果我有 30 个我需要的静态变量,所以我需要创建一个相当长的构造函数来传递它们从主函数到被调用函数。

有什么好的建议吗?我基本上是在寻找专业人士如何做到这一点的提示,这样代码看起来并不难看,而且很容易阅读,并且很容易用作面向对象。

【问题讨论】:

  • 我不太明白你想要完成什么。我也认为这篇文章包含几个不同的问题。最好将其分解为简短的重点,最好包括示例问题。例如,Application application = new Application(); 与“传输静态值”无关。它创建一个Application 对象。
  • @c0der 从这个对象我可以读取另一个类中的静态值。这就是为什么我在上面写道:“我担心静态 void main 会被执行。是吗?” PS。我认为它不应该在只调用一个对象本身时执行 main void 。也许使用这种方法,我将能够在另一个类中使用静态值,但想知道不同的选择是最欣赏的方式。
  • 如果您询问创建新的Application 是否会自动导致main 被执行:否。
  • @ajb 是的,这是与静态相关的问题之一。我正在寻找最欣赏/专业的方式来在另一个类中使用主类静态变量/值。当我以这种方式使用它时,它会说警告(不是错误)静态值应该以静态方式或类似方式访问。
  • “这是一个非问题”,这就是为什么我建议将帖子分解为简洁的问题,

标签: java variables static


【解决方案1】:

要知道的关键点:静态是好的 OO 设计中的一个异常。当然,当一个人从 Java 开始时,使用 static 似乎是自然而直接的。 main 是静态的,所以当其他东西也是静态的时候,事情看起来更容易。

但是,如前所述:static 应该是例外;不是代码中的“正常”事物。所以不要花时间在“如何围绕静态创建一个好的设计”;你应该退后一步,看看“我如何创建避免静态的优秀设计”!

了解SOLID 原则是一个很好的起点。

长话短说:设计您的类以便您可以实例化,以便您的代码处理具有有意义目的的对象

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2018-11-26
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多