我尝试创建两个类Test
的静态对象: CAT 和 DOG 。我希望他们能够使用不同的输出int talk()
方法:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hi");
Test.DOG.talk(); //"I am a cat" output
}
}
class Test {
public static Test DOG = new Test("I am a dog");
public static Test CAT = new Test("I am a cat");
public static String talkString;
private Test(String text) {
talkString = text;
}
public static void talk() {
System.out.println(talkString);
}
}
然而 CAT 对象会覆盖talkString
,因此 DOG 无法再使用它。有没有解决方法,同时保持 DOG 和 CAT 静态?