2015-03-03 3 views
0

Класс Aабстрактные классы и интерфейсы Java

public abstract class AbstractA { 
public abstract void method1(int a); 
public void method2() { 
System.out.println("method2"); 
} // end method2 
public abstract void method3(); 
} 

Класс B

public abstract class AbstractB { 
public abstract void method3(); 
public abstract void method4(); 
} 

Класс C

public interface InterfaceC { 
void method1(int a, int b); 
void method2(); 
void method4(); 
} 

Тест

public abstract class Choice3 extends AbstractA implements InterfaceC { 
public void method1(int a) {} 
public void method4() {} 
} // end class 

I «Очень смутно, почему« Выбор 3 »действительно компилируется. Он перегружает метод1 (int a), но фактически не перегружает метод1 (inta intb).

+0

Никогда не возражаете, я просто понял, что его абстрактные, так что не нужно переопределить. – aaa

ответ

4
public abstract class Choice3 extends AbstractA implements InterfaceC 

, когда ваш класс iself абстрактно это не нужно реализовывать все методы его прямого/косвенного абстрактного родителя

Смежные вопросы