Java 제네릭이 상속 / 다형성을 처리하는 방법에 대해 약간 혼란 스럽습니다. 다음과 같은 계층 구조를 가정하십시오. 동물 (부모) 개 - 고양이 (어린이) 따라서 방법이 있다고 가정 doSomething(List<Animal> animals)합니다. 상속과 다형성의 규칙 모든함으로써, 나는이 가정 것 List<Dog> 입니다 을 List<Animal>하고는 List<Cat> 있습니다List<Animal> 그래서 둘 중 하나가이 메서드에 전달 될 수있다 -. …
Java의 관점에서 누군가가 물을 때 : 다형성이란 무엇입니까? 겠습니까 과부하 또는 재정의 허용 해답이 될? 나는 그것보다 조금 더 있다고 생각합니다. 구현하지 않고 메소드를 정의한 추상 기본 클래스가 있고 서브 클래스에서 해당 메소드를 정의한 경우 여전히 대체입니까? 오버로드 가 정답이 아니라고 생각 합니다.
나는 오늘 모듈 오픈 북 시험의 끝 에서이 질문을 받았으며 자신을 잃어 버렸습니다. 나는 읽고 Head first Java있었고 두 정의는 정확히 같은 것처럼 보였다. 나는 내 자신의 마음에 대한 주요 차이점이 무엇인지 궁금해하고있었습니다. 나는 이것과 비슷한 질문이 많이 있다는 것을 알고 있지만 결정적인 대답을 제공하는 것은 없습니다.
Eclipse에서 F3메소드를 누르면 어떻게 선언 되는지 알 수 있습니까? 글쎄, 나는 인터페이스의 일부인 메소드를 가지고있다. F3이것을 클릭하면 자연스럽게 선언 인터페이스로 이동합니다. 분명히이 인터페이스를 구현하는 객체가 있으며 여기에서 메소드가 실제로 구현됩니다. 을 누르면 F3인터페이스 선언이 아닌 구현으로 이동하기를 원합니다 . 컴파일 타임에 구현을 알 수 없다는 것을 알고 있으므로 Eclipse에서 인터페이스를 …
모듈을 작성 중이며 발생할 수있는 예외 (예 : FooError모든 foo모듈의 특정 예외에 대한 추상 클래스 에서 상속)에 대한 통합 예외 계층 구조를 원합니다 . 이를 통해 모듈 사용자는 이러한 특정 예외를 포착하고 필요한 경우 개별 예외를 처리 할 수 있습니다. 그러나 모듈에서 발생하는 많은 예외는 다른 예외로 인해 발생합니다. 예를 …
두 개의 Java 클래스가 있습니다. B는 다음과 같이 다른 클래스 A를 확장합니다. class A { public void myMethod() { /* ... */ } } class B extends A { public void myMethod() { /* Another code */ } } A.myMethod()에서 님 에게 전화하고 싶습니다 B.myMethod(). 나는 C ++ 세계 에서 …
AFAIK : C ++은 세 가지 유형의 다형성을 제공합니다. 가상 기능 함수 이름 오버로딩 연산자 과부하 위의 세 가지 유형의 다형성 외에도 다른 종류의 다형성이 있습니다. 실행 시간 컴파일 타임 임시 다형성 파라 메트릭 다형성 내가 알고 런타임 다형성 에 의해 달성 될 수있다 가상 함수 와 정적 다형성 에 …
C ++에서 private 메서드를 가상으로 만드는 이점은 무엇입니까? 오픈 소스 C ++ 프로젝트에서 이것을 발견했습니다. class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&); };
다음을 수행하십시오. class A {} class B : A {} class C { C() { var b = new B(); Foo(b); Foo2(ref b); // <= compile-time error: // "The 'ref' argument doesn't match the parameter type" } void Foo(A a) {} void Foo2(ref A a) {} } 위의 컴파일 타임 …