所以我試圖做一個非常簡單的接口和超類,並且我得到一個問題,我的@Override
聲明annotation type not applicable to this kind of declaration
。現在我看到this StackOverflow的問題,說這是一個簡單的拼寫錯誤,但我檢查了我的界面和我的類,功能簽名是相同的。下面是接口:
接口和超類的問題
package cit260.harrypotter.view;
public interface ViewInterface {
public void display();
public String[]getInputs();
public String getInput(String promptMessage);
public boolean doAction(String[] inputs);
}
,這裏是超類:
package cit260.harrypotter.view;
import java.util.Scanner;
public abstract class View implements ViewInterface {
public View() {
@Override
public void display(){
boolean endView = false;
do {
String[] inputs = this.getInputs();
endView = doAction(inputs);
} while (!endView);
}
@Override
public String getInput(String promptMessage) {
String input;
boolean valid = false;
while(!valid) {
System.out.println(promptMessage);
Scanner keyboard = new Scanner(System.in);
input = keyboard.nextLine(); input.trim();
if (input.length != 0){
System.out.println("Please enter a valid input");
valid = true;
}
}
return input;
}
}
}
我在做什麼錯?
你的課不會編譯。你已經把所有的方法放在構造函數View中,而不是放在類中。它的意思是關閉View(){}然後設置。 – Optional
@可選謝謝! mayooran幾乎毆打你的拳頭,但我把它移出來,這一切工作!我的問題是現在,如何輸入一個整數?它從鍵盤獲取輸入,沒有特定的整數 –
Mayooran沒有問題。我很抱歉,我不是指整數。它沒有被初始化。所以返回可能會在編譯時聲明它必須被初始化。 – Optional