У меня есть такой пример использования
interface i {
void method1();
void method2();
}
class A implements i {
void method1() {
System.out.println("Method1 A ..");
}
void method2() {
System.out.println("Method2 A ..");
}
}
class B implements i {
void method1() {
System.out.println("Method1 B ..");
}
//Assume : B does not know how to implement method2
//void method2() {
//}
}
Я знаю, что класс B может быть абстрактным и не реализовывать method2 для интерфейса i.
Является ли общая практика тем, что если я не хочу, чтобы мой класс B был абстрактным, выбрасывал исключение из method2, если у него нет реализации для method2?