Folgendes verstehe ich nicht ganz:
Methode DemoImpl implementiert die Schnittstelle Demo:
Fall 1:
So weit, so gut. Aber, auch dies wird vom Compiler akzeptiert:
Fall 2:
Der Unterschied: wenn ich im ersten Fall die Methode demo aufrufe, muss ich die Ausnahme behandeln, im zweiten aber nicht.
Für micht ist es etwas "unlogisch", dass ich throws Exception im Kopf der Methode demo in der implementierenden Klasse auslassen darf. Welche Logik steckt dahinten?
Java:
public interface Demo
{
void demo() throws Exception;
}
Methode DemoImpl implementiert die Schnittstelle Demo:
Fall 1:
Java:
public class DemoImpl implements Demo
{
public void demo() throws Exception
{
}
}
So weit, so gut. Aber, auch dies wird vom Compiler akzeptiert:
Fall 2:
Java:
public class DemoImpl implements Demo
{
public void demo()
{
}
}
Der Unterschied: wenn ich im ersten Fall die Methode demo aufrufe, muss ich die Ausnahme behandeln, im zweiten aber nicht.
Für micht ist es etwas "unlogisch", dass ich throws Exception im Kopf der Methode demo in der implementierenden Klasse auslassen darf. Welche Logik steckt dahinten?