>  기사  >  Java  >  Java의 일반 메소드에 대한 자세한 설명과 간단한 예

Java의 일반 메소드에 대한 자세한 설명과 간단한 예

高洛峰
高洛峰원래의
2017-01-11 14:32:111357검색

java 제네릭 메서드:

여기에서는 제네릭의 의미에 대해 자세히 설명하지 않겠습니다. Java에서 제네릭 클래스의 정의는 비교적 간단합니다(예: public class Test{}). 이러한 방식으로 일반 클래스 Test가 정의됩니다. 클래스를 인스턴스화할 때 일반 T의 특정 유형을 지정해야 합니다. 예를 들어 Test t = new Test(); 일반 T는 객체입니다.

그러나 Java의 일반 메소드는 더 복잡합니다.

제네릭 클래스는 클래스를 인스턴스화할 때 제네릭의 특정 유형을 지정합니다. 제네릭 메서드는 메서드를 호출할 때 제네릭의 특정 유형을 지정합니다.

제네릭 메서드를 정의하는 구문 형식은 다음과 같습니다.

Java의 일반 메소드에 대한 자세한 설명과 간단한 예

제네릭 메서드를 호출하는 구문 형식은 다음과 같습니다.

Java의 일반 메소드에 대한 자세한 설명과 간단한 예

일반 메서드를 정의할 때 반환 값 앞에 를 추가하여 이것이 일반 메서드임을 선언하고 일반 T를 보유해야 한다고 설명합니다. 일반 T를 메서드의 반환 값으로 사용합니다.

Class의 기능은 제네릭의 특정 유형을 나타내는 것이며, Class 유형의 변수 c를 사용하여 제네릭 클래스의 객체를 생성할 수 있습니다.

객체를 생성할 때 변수 c를 사용하는 이유는 무엇입니까? 제네릭 메소드이기 때문에 특정 타입이 무엇인지, 생성 메소드가 무엇인지 알 수 없기 때문에 새로운 객체를 생성할 방법은 없지만 c 변수의 newInstance 메소드를 이용하면 가능하다는 뜻이다. 즉, 리플렉션을 사용하여 객체를 생성합니다.

제네릭 메서드에 필요한 매개변수는 Class 유형이고 Class.forName() 메서드의 반환 값도 Class이므로 Class.forName()을 다음과 같이 사용할 수 있습니다. 매개변수. 그 중 forName() 메소드의 매개변수 유형은 반환된 Class의 유형입니다. 이 예에서 forName() 메소드는 User 클래스의 전체 경로로 전달되므로 Class 유형의 객체가 반환됩니다. 따라서 일반 메소드가 호출되면 변수 c의 유형은 Class ;, 따라서 generic 메서드의 generic T는 User로 지정되므로 변수 obj의 유형은 User입니다.

물론 일반 메소드는 하나의 매개변수 Class를 가질 수 있을 뿐만 아니라 필요에 따라 다른 매개변수를 추가할 수도 있습니다.

왜 일반적인 방법을 사용합니까? 제네릭 클래스는 인스턴스화될 때 유형을 지정해야 하기 때문에 다른 유형으로 변경하려면 다시 생성해야 합니다. 이는 유연성이 충분하지 않을 수 있지만 제네릭 메서드는 호출될 때 유형을 지정할 수 있습니다. , 더 유연합니다.

읽어주셔서 감사합니다. 도움이 되기를 바랍니다. 이 사이트를 지원해 주셔서 감사합니다!

Java의 제네릭 메소드에 대한 자세한 설명과 간단한 예를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.