如何在Java中调用抽象类方法
我想在自己的类中调用抽象类的方法。抽象类是:
public abstract class Call { public Connection getEarliestConnection() {
Connection earliest = null;
...
return earliest;
}
}
我想调用上面的方法,并且调用的类是:
public class MyActivity extends Activity { Connection c = new Connection();
private void getCallFailedString(Call cal)
{
c = cal.getEarliestConnection();
if (c == null) {
System.out.println("** no connection**");
} else {
System.out.println("** connection");
}
}
}
每当我尝试运行上述类时,它都会在line上引发NullPointerException c =
cal.getEarliestConnection()。谁能告诉我如何解决这个问题?
回答:
首先,Call
一个抽象类,因此您不能直接实例化它。您必须创建一个子类,比如说MyCall extends Call
它覆盖Call中的任何抽象方法。
获得一个NullPointerException
意味着您作为参数传入的任何内容都getCallFailedString()
尚未初始化。因此,在创建Call的子类之后,您必须实例化它,然后将其传递给您的方法,如下所示:
class MyCall extends Call {
//override any abstract methods here...
}
无论您在哪里打电话,getCallFailedString()
都需要上面的东西:
Call cal = new MyCall();Activity activity = new MyActivity();
activity.getCallFailedString(cal);
以上是 如何在Java中调用抽象类方法 的全部内容, 来源链接: utcz.com/qa/433150.html