보호 된 특성 높이가있는 하위 (확장) 클래스가 있습니다. 나는 메인 프로그램에 액세스하려면 : 내가 롤의 관목을 실행할 때하위 클래스 특성 오류
while(line != null)
{
String[] field = line.split("#");
int height = Integer.parseInt(field[0]);
if (field.length ==1)
{
forest[cnt] = new Trees(height);
}
else
{
forest[cnt] = new Shrub(height, field[1]);
}
cnt++;
line = inS.readLine();
}
inS.close();
String s = JOptionPane.showInputDialog("Enter Name to search for");
for(int i = 0; i<forest.length; i++)
{
if (forest[i] instanceof Shrub)
{
String a = forest[i].getName();
System.out.println ("Found");
}
}
}
나는 그것이 방법 대한 getName 찾을 수 없다는 오류가 발생하지만은, 그러나 그것은 잘 작동?
감사합니다.
다음과 같이 문자를 입력 해보십시오 .String a = ((Shrub) forest [i]). getName();'. 이는'getName()'메소드가 부모 타입에 존재하지 않는다고 생각하기 때문입니다. 그러한 경우 컴파일러에게 명시 적으로 알려야합니다. –