我正在审查一位由我的大四学生撰写的代码。在单元测试类中,他使用了private final
类变量,如下所示:
public class SomeProcessingServiceUT {
private final String modelNumber = "ABC01";
private final String serialNumber = "000002";
private final String PrimaryId = "15033520583";
private final String CheckinTime ="20021010:00-05";
.....
}
他所做的只是访问所有这些变量,如this.modelNumber
等,而不是其他任何内容。
我想质疑他为什么不使用静态声明纯常数以及为什么他使用这样的混合namings的意图。但我想在这里与社区分享我的疑虑。这有点令人困惑。任何智慧都会有所帮助。
答案 0 :(得分:-1)
关键字static不会使它成为常量,它用于附加在类而不是对象上的变量。简单地说:对于您创建的每个对象,变量的值都是相同的。问题是你可以改变这个变量的值,如果你说classname.variable因此它不是一个常量变量。
一般来说,你想避免使用静态,这不是一个糟糕的编程,但如果你不需要它,那么就不应该使用它。此外,几乎没有需要静态变量的情况,并且在大多数情况下可以通过更好的类设计来避免。
要回答你的问题,将这个变量声明为静态并不是没有意义,但我在这里可能是错的,因为我不知道他还想对这个类做什么。