에서 메서드를 호출하는 데 사용되는 수퍼 클래스 참조를 결정합니다. 두 번 질문했습니다. &은 어떻게 그리고 왜 그 일이 생길지에 대해 완전히 혼란스러워합니다. 여기 하위 클래스
는 시나리오입니다 :interface IntA {
void someMethod();
}
interface IntB {
void someMethod();
}
두 가지 간단한 인터페이스;
IntA a = new ClassAB();
a.someMethod();
또는 다른 인터페이스를 통해 :
IntB b = new ClassAB();
b.someMethod();
이제 질문의 구현에 우리가 & 사용과 같이 인스턴스화 할 수
class ClassAB implements IntA,IntB {
@Override
public void someMethod(){
//some logic
}
}
그리고 간단한 클래스 아래 구현 someMethod()
인 경우 IntA
참조 또는 IntB
참조를 사용하여를 호출하는지 확인할 수 있습니까?. 따라서 다른 논리를 실행하십시오.
솔직히 이것이 잘못된 질문이라고 생각합니다. 왜 &을 어떻게 이해할 지 모르겠다. 인터페이스의 관점에서 볼 때, 중요한 것은 기능 서명 &의 기준을 충족시키는 구현입니다. IntA
& IntB
이 다른 결과를 예상하는 경우 두 가지 다른 클래스로 구현해야합니다.
저는이 시나리오를 두 번 보았습니다. 따라서 저는 왜 묻고 있습니까. 결정할 수있는 방법이 있습니까? C/C++
과 같은 다른 언어로이를 수행 할 수있는 방법이 있습니까?
인터페이스가 다른 기능을 원한다면 다른 메소드 이름을 사용해야합니다 ... –
중요한 점은 어떤 시나리오였습니까? – daniu
@daniu 인터뷰 질문이었습니다. 나는 두 달 동안 무작위로 인터뷰하는 사람들에 의해이 같은 질문을 보았다. 내가 처음에 생각한 사람은 잘못된 생각이었습니다. 그 다음 제 2의 사람이 같은 일을 물었을 때, 나는 조금 의심스러워했다. – Vineet