如何在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

回到顶部