Your #1 FANsite for the Spice Girls and David Beckham! ~
Welcome to Zigazig-ha! at zigazig-ha.com. Your #1 source dedicated to the talented Spice Girls and David Beckham. Our goal is to bring you all the latest news, including upcoming singles, appearances, TV shows and more. We bring you all the oldest and newest images from TV projects, appearances, captures, magazine scans and more..you name it you have it! Whatever you're here for, we hope you find something to interest you and hope you choose to return soon. Enjoy your stay!
Posted By Admin    August 2nd, 2019    0

형식 매개 변수가 파생 형식이며 래퍼 클래스로만 제한되지 않는 일반 인터페이스를 구현하는 일반 클래스가 있을 수 있습니다. 아래 코드는 잘 작동합니다. 제네릭 클래스와 마찬가지로 제네릭 인터페이스를 정의할 수도 있습니다. 제네릭 클래스를 정의하는 데 사용되는 동일한 구문도 제네릭 인터페이스를 정의하는 데 사용됩니다. 다음은 일반 인터페이스의 예입니다. 제네릭은 Java 5에 추가되어 수집 클래스로 작업하는 동안 일반적인 ClassCastException의 컴파일 타임 형식 검사 및 제거 위험을 제거했습니다. 형식 안전을 위해 제네릭을 사용하도록 전체 컬렉션 프레임워크를 다시 작성했습니다. 제네릭이 컬렉션 클래스를 안전하게 사용하는 데 어떻게 도움이 되는지 살펴보겠습니다. 그것은 당신이 제안하는 불합리한 인터페이스가 아니지만 나는 그것이 어떤 가치를 추가하는지 100 % 확신하지 못합니다. 표준 Callable 인터페이스를 사용할 수도 있습니다.

인수를 지원하지 는 않지만 인터페이스의 해당 부분에는 최소 값(imho)이 있습니다. 원격 서비스에 대한 호출을 나타내는 인터페이스를 정의하고 싶다고 가정해 보겠습니다. 이제 원격 서비스에 대한 호출은 일반적으로 무언가를 반환하지만 입력 매개 변수도 포함될 수 있습니다. 구현 클래스는 일반적으로 하나의 서비스 메서드만 구현한다고 가정합니다. 위의 정보를 감안할 때, 다음과 같은 가난한 디자인 (그것은 꽤 옳지 않다): 클래스에 적용 하는 상속의 규칙은 인터페이스에도 적용: 이제 위의 구현에 문제가 정수 또는 복식 목록으로 작동 하지 않습니다 때문에 목록 목록 관련이 없다는 것을 알고 있으며, 이것은 상한 와일드 카드가 도움이 될 때입니다. 확장 키워드와 상한 클래스 또는 인터페이스를 사용하여 상위 바운드 또는 하위 클래스 형식의 인수를 전달할 수 있는 제네릭 와일드카드를 사용합니다. 일반적으로이 코드에 냄새가 있다고 생각하는 이유를 알 수 있습니다. 그러나 더 나은 솔루션을 제공 하려면 요구 사항에 대해 좀 더 알아야 합니다. 처음에 제네릭 인터페이스를 사용하려는 이유는 무엇입니까? 일반 인터페이스를 구현하는 동안 몇 가지 규칙을 따라야 합니다. 다음은 이러한 규칙에 대한 설명입니다.

일반 상위/하한 경계 와일드카드 및 경계 형식 매개 변수는 유사하지만 바인딩된 형식 매개 변수는 예를 들어 위의 코드에서 와 같이 제네릭 알고리즘을 작성하는 데 도움이 되며, 비교 가능한 바인딩된 형식 매개 변수를 사용하고 있습니다. 일반적으로 클래스가 제네릭 인터페이스를 구현하는 경우 해당 클래스도 제네릭이어야 합니다. 클래스가 다음과 같이 특정 유형의 일반 인터페이스를 구현하는 경우: 콘크리트 클래스는 다음과 같이 닫힌 생성 된 인터페이스를 구현할 수 있습니다. 원하는 정확한 서명이 있습니다. `내 서비스 실행자를 공통 인터페이스로 그룹화하고 싶습니다… 또한 두 개의 서로 다른 서비스 호출에 대해 두 개의 별도 인터페이스를 만드는 것은 과잉 인 것 같습니다… 클래스는 컴파일 타임에 형식 검사를 제공하기 위해 Java에서 이러한 인터페이스의 제네릭 중 하나만 구현하고 런타임에 아무 소용이 없으므로 Java 컴파일러는 형식 삭제 기능을 사용하여 바이트 코드에서 코드를 검사하는 모든 제네릭 형식을 제거하고 삽입합니다. 필요한 경우 형식 캐스팅을 할 수 있습니다. 형식 지우기 매개 변수형식에 대해 새 클래스가 만들어지지 않도록 합니다.

따라서 제네릭에는 런타임 오버헤드가 발생하지 않습니다.

Uncategorized

Comments are closed.