我在接口中声明了String对象,默认情况下为public
,static
和final
。我想知道与类相比,垃圾收集是否有任何区别,其中使用public
,static
和final
声明了相同的String对象
interface Message {
String SUCCESS = "Request processed successfully";
String ERROR = "Error in processing your request";
}
class Message {
public static final String SUCCESS = "Request processed successfully";
public static final String ERROR = "Error in processing your request";
}
答案 0 :(得分:1)
变量不是垃圾收集的,因此它们的定义无关紧要。 Objects 是垃圾收集的,但在这种情况下,唯一可见的对象是池字符串文字,垃圾收集规则由JLS和JVM规范定义;当然不是通过是否在类或接口中定义对它们的引用。