好使用非靜態對象,我不知道如何來解決這個。當對象不是靜態的,沒有使用的方法或變量,Java只是不會編譯它們。但是,當我將該對象設置爲靜態時,JVM返回錯誤,並拋出一個彈出警報並通過錯誤消息向控制檯發送垃圾郵件。下面是斷碼的嚴重削減版本:在靜態方法
public class Main {
public Hero hero = new Hero();
private static boolean newGuy;
public static void main(String[] args){
areYouNew();
if(newGuy){
createGame();
}else{
loadGame();
}
saveGame();
}
private static void createGame() {
}
private static void loadGame() {
System.out.println("Ah yes, sorry. What is your name again?");
//blah blah code here
hero.setName();
if(hero.getName().length() > 0){
}else{
System.out.println("Sorry? You need to type your name");
loadGame();
}
}
private static void areYouNew() {
System.out.println("Are you new?");
String newTest = sc.nextLine();
if(newTest.toLowerCase().contains("yes")){
newGuy = true;
}else if(newTest.toLowerCase().contains("no")){
newGuy = false;
}else{
System.out.println("Oops, it's a yes or no question.");
areYouNew();
}
}
}
的hero.whatevers
工作,除非我設置的英雄靜態無。有任何解決這個問題的方法嗎? 我已經嘗試過製造含有的引用方法英雄非靜態的,但我就不能使用主)這些方法(
好像你不知道你在做什麼。我知道你想嘗試一下,但我建議回到教程,筆記,書籍等,並學習靜態變量和方法的工作原理。 –
這是「嚴重削減」版本。非常感謝你的善良:-) – Coffee
爲什麼你不希望英雄是靜態的?非靜態(實例)變量不能在靜態(類)變量中看到。 – markg