Java 일반 클래스에 대한 약간의 의심
習慣沉默
習慣沉默 2017-05-17 10:03:19
0
3
602

class Gift<T>{...}
当我新建一个Gift对象时,如 Gift<Phone> myGift = new Gift<Phone>
로 정의된 클래스가 있습니다. myGift 객체는 어떤 유형인가요? Gift, Phone, Object인가요?
블로그에서 객체를 인스턴스화할 때 제네릭을 지정하지 않으면 기본값은 Object이지만 제네릭을 지정하지 않으면 기본값은 GIFt가 되어야 하는 것 아닌가요?라는 단락을 읽었습니다.

習慣沉默
習慣沉默

모든 응답(3)
PHPzhong

<T> 이것은 단지 일반 선언입니다. Gift 이는 Gift에서 일반 유형 T를 사용한다는 의미입니다. Java는 먼저 선언한 다음 호출하는 원칙을 따르므로 특정 유형을 선언해야 합니다. T를 사용하기 전에 T. myGift의 유형은 아무 관련이 없습니다. T의 유형이 무엇이든 myGift는 Gift라는 클래스의 객체입니다.
채택해 보시기 바랍니다!

滿天的星座

개인적으로 이해하기로는 이 유형의 제한은 클래스 자체가 아니라 전달된 매개변수에 대한 제한이라는 것입니다

小葫芦

Gift, 일반 유형을 지정하지 않으면 기본값은 Object입니다. 그건 T를 위한 거 맞죠? Java의 제네릭은 컴파일 단계에서 유형을 결정해야 하며 실제로는 동적이지 않습니다. 따라서 T 유형이 선언되지 않으면 T는 기본적으로 객체로 간주됩니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿