Chcę nazwać metodę klasy abstrakcyjnej w mojej własnej klasie. Abstrakcyjna klasa:Jak wywołać metodę klasy abstrakcyjnej w java
public abstract class Call {
public Connection getEarliestConnection() {
Connection earliest = null;
...
return earliest;
}
}
chcę zadzwonić powyższej metody, a klasa powołaniem jest:
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");
}
}
}
Ilekroć próbuję uruchomić powyższą klasę, to rzuca NullPointerException na linii c = cal.getEarliestConnection()
. Czy ktoś może mi powiedzieć, jak rozwiązać ten problem?
Za mało kodu obawiam się. Musimy sprawdzić, czy/jak wywoływana jest instancja i gdzie wywoływana jest metoda getCallFailedString. – Steven
jak i gdzie wywołujesz getCallFaildString() z klasy MyActivity? – Pratik
Pratik ma rację: problemem nie jest to, że klasa jest abstrakcyjna. Problem polega na tym, że wartość "cal" jest zerowa, gdy przekazujesz ją. –