java - 改善follow的方法。 Java代码

标签 java

有什么方法可以改善以下情况。代码块:

public class MyUnits {
    public static String MILLSECONDS = "milliseconds";
    public static String SECONDS = "seconds";
    public static String MINUTES = "minutes";
    public static String HOURS = "hours";

    public int quantity;
    public String units;

    public MyUnits(int quantity, String units) {
        this.quantity = quantity;
        this.units = units;
    }

    public String toString() {
        return (quantity + " " + units);
    }

    // Test code
    public static void main(String[] args) {
        System.out.println(new MyUnits(1, MyUnits.MILLSECONDS));
        System.out.println(new MyUnits(2, MyUnits.SECONDS));
        System.out.println(new MyUnits(3, MyUnits.MINUTES));
        System.out.println(new MyUnits(4, MyUnits.HOURS));
    }
}

任何帮助将不胜感激。

最佳答案

静态整数应该是最终的。 Java 中“常量”的常用修饰符是

public static final <Type> <name> = <value>;

更大的增强:将 static int 与 enum 交换:

public enum Unit {MILLISECOND, SECOND, MINUTE, HOUR}

新的构造函数签名将是:

public MyUnits(int quantity, Unit unit) { ... }

MyUnit 中的非静态字段应设为私有(private)。添加 getter/setter 方法进行访问。

最后(仅对于严肃的代码),我将测试代码与类分开。查看测试框架,例如 junit 并实现单独的测试类。

关于java - 改善follow的方法。 Java代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801774/

相关文章:

java - 无法为类型为 org.springframework.boot.gradle.dsl.SpringBootExtension 的对象设置未知属性 'mainClass'

java - 适用于 Java 的 Firebase 身份验证

java - 带有 Thread 类和 Runnable 接口(interface)的输出

java - 在 Resteasy + Netty 服务器上实现跨源资源共享(CORS)

java - 如何在 android 中使用 Log.d 设置断点

java - 使用 SWT.MULTI 获取表的选定行

java - Commercetools Sphereio SphereClient 为空

java - 如何在 Java Swing 中将 html 文本附加到 JLabel

java - 通过 Firebase-Api 将 Java 独立服务器连接到 Nest 云

java - 将 GPS 坐标转换为 ENU 坐标的函数?