import java.io.*;
class Base {
public void a() throws IOException {
System.out.println("A");
}
}
public class Teste extends Base {
public Teste() {
a();
}
public void a() {
System.out.println("B");
}
public static void main(String args[]) {
new Teste();
}
}
se na sub classe e por assim, public void a() throws IOException {
}
da o seguinte erro
unreported exception java.io.IOException; must be caught or declared to be thrown a();
se eu por outra Exception, exemplo Exception apenas da outro erro
Teste cannot override a() in Base; overridden method does not throw java.lang.Exception
public void a() throws Exception {
se eu tirar o IOException da superclasse e por trhows na subclasse da erro tb..
eu concluo entao que apenas a superclasse poderá ter throws em métodos overriding e os métodos da subclasse nao tem thorws, porque senao da problema...
agora eu preciso por uma FileNotFoundException na subclasse.. nao da pra fazer com throws? vou ter que usar try/catch mesmo??
o código de exemploimport java.io.*;
class Base {
public void a() throws FileNotFoundException {
System.out.println("A");
}
}
public class Teste extends Base {
public Teste() {
a();
}
public void a() {
System.out.println("B");
FileInputStream file = new FileInputStream("teste.txt");
}
public static void main(String args[]) {
new Teste();
}
}
Obrigado