Rozważmy następujący InterfaceDlaczego wywołujący metodę, która zgłasza wyjątek, nie musi obsługiwać wyjątku w tej sytuacji?
package hf;
public interface BadInterface
{
void meth() throws Exception;
}
, który jest realizowany w następujących klas:
package hf;
public class apples implements BadInterface
{
public static void main(String[] args)
{
new apples().meth();
}
public void meth()
{
System.out.println("Ding dong meth.");
}
}
Chociaż met() to metoda zgłasza wyjątek, rozmówcę metodzie met() jest nie musi obsługiwać ani deklarować wyjątku, a mimo to program działa poprawnie. Dlaczego tak jest? Czy nie narusza zasady, że za każdym razem, gdy wywołujesz metodę, która zgłasza wyjątek, musisz wychwycić wyjątek lub zadeklarować, że sam rzucisz wyjątek?
Powinieneś zmienić nazwę swojej klasy na 'Jabłka' zgodnie z normami kodowania Java. –