java– 在多个类中共享常量(android minesweeper)

java– 在多个类中共享常量(android minesweeper),第1张

概述我正在使用扩展Button创建一个类的实例,并直接访问整数变量以获得更好的性能.我正在使用常量来轻松识别变量的当前设置.我有常量声明Button类和Activity类中实例化它们.我发现了类似的问题,并且读取它只是为了保持常量而创建一个类是不好的做法.在两个类中使用相同的常量声明的最

我正在使用扩展button创建一个类的实例,并直接访问整数变量以获得更好的性能.我正在使用常量来轻松识别变量的当前设置.

我有常量声明button类和Activity类中实例化它们.我发现了类似的问题,并且读取它只是为了保持常量而创建一个类是不好的做法.

在两个类中使用相同的常量声明的最佳方法是什么?

我是初学程序员,所以我很有可能忽略了一个简单的解决方案.

按钮类:

public class GrIDbutton extends button {  public int displayStatus;  // constants for mine display status  private static final int UNtouchED = 1;  private static final int UNCOVERED = 2;  private static final int FLAGGED = 3;  private static final int HIT = 4;  ...}

活动类:

public class PlayGameActivity extends Activity {        private GrIDbutton[][] grIDbuttons;        // constants for mine display status  private static final int UNtouchED = 1;  private static final int UNCOVERED = 2;  private static final int FLAGGED = 3;  private static final int HIT = 4;  ...  // e.g. accessing displayStatus value  if (grIDbuttons[currentRow][currentColumn].displayStatus == FLAGGED)  {  }}

解决方法:

共享内容,您可以在单独的类中创建常量并静态访问它

class Constants {  public static final int UNtouchED = 1;}

然后在这两个课程中你可以去Constants.UNtouchED.

在这种情况下,我会避免使用魔术数字并用Enum替换它们.

enum displayStatus {  Untouched, Uncovered, Flagged, Hit}

并使用displayStatus displayStatus替换所有int displayStatus.现在,您和其他读者清楚地了解了int所代表的内容.

理想情况下,您始终希望使用特定类型来限制可能值的范围.在您的示例中,只有数字1-4有效,但您的类型与int一样宽,因此可以是任何值(例如-1或23543).

祝好运!

总结

以上是内存溢出为你收集整理的java – 在多个类中共享常量(android minesweeper)全部内容,希望文章能够帮你解决java – 在多个类中共享常量(android minesweeper)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1119702.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存