iaa*_*acp 0 java inheritance abstract-class abstract-methods
我有一个名为Answer的抽象类.它需要是抽象的,因为假设,可以有许多不同类型的答案,如字符串答案,视频答案,音频答案等.
public abstract class Answer {
abstract public void display();
abstract public Answer getAnswer();
abstract public boolean isEqual();
}
Run Code Online (Sandbox Code Playgroud)
现在在StringAnswer中,我想覆盖这些方法.
public class StringAnswer extends Answer
{
String text;
public StringAnswer(String text)
{
this.text = text;
}
@Override
public void display()
{
System.out.println(text);
}
@Override
**public String getAnswer()
{
return text;
}**
@Override
public boolean isEqual()
{
// TODO Auto-generated method stub
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
getAnswer给我带来了问题,因为我正在尝试返回一个字符串,但它期待回复.从抽象的意义上讲,我想回答一个答案.但是,StringAnswer的内容显然是一个String.
那么,当它期待一个答案时,如何将它作为字符串返回?
你没有.你修复了你的设计.
我怀疑你可能想要的东西是什么样的
abstract class Answer<T> {
public abstract T getAnswer();
}
public class StringAnswer extends Answer<String> {
public String getAnswer() { ... }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |