추상 클래스에서이를 확장하는 클래스의 인스턴스를 '일반적으로'반환하는 메서드를 사용할 수 있습니까?구현하는 클래스의 인스턴스를 반환하는 추상 클래스의 메서드
0
A
답변
1
이것은 단지 여분의 비트의 정보를 제공하고, 코멘트에서 귀하의 질문에 대답하는 것입니다. Kayaman의 대답은 귀하의 질문에 제공된 정보를 바탕으로 제가 제안한 것입니다.
그러나 주석 질문에 암시했듯이이 메서드는 기본 생성자 만 호출합니다. 매개 변수화 된 생성자 중 하나를 호출하려면 getDeclaredConstructor
메소드를 사용하여 서명을 통해 효과적으로 "위치 지정"해야합니다. parameters
및 parameterTypes
요소의 순서는 생성자의 서명에 해당하는 과정을 잘 만들기
public abstract class AbstractClass {
public AbstractClass getInstance(Object[] parameters, Class<?>...parameterTypes) {
return getClass().getDeclaredConstructor(parameterTypes).newInstance(parameters);
}
}
: 그래서 (Kayaman의 대답에서 차입)처럼
.
3
다음과 같은 방법으로 클래스를 인스턴스화 할 수 있지만 달성하려는 내용을 알려야 할 수도 있습니다. 또 다른 간단한 방법은 아마도 Clonable
을 구현하는 것입니다.
public abstract class AbstractClass {
public AbstractClass getInstance() {
return getClass().newInstance();
}
}
또는 생성자 받아들이는 매개 변수의 경우
는 :return getClass().getDeclaredConstructors(String.class, Integer.class).newInstance(someString someInteger);
관련 문제
- 1. 추상 클래스의 추상 메서드
- 2. 추상 클래스의 그룹 메서드
- 3. 클래스의 추상 메서드
- 4. 가상 클래스의 추상 메서드
- 5. 클래스의 인스턴스를 반환하는 방법?
- 6. 추상 클래스의 인터페이스 메서드 구현
- 7. 추상 클래스의 인스턴스를 반환하는 메서드를 작성하는 방법은 무엇입니까?
- 8. 추상 클래스의 특정 메서드 만 구현하는 방법은 무엇입니까?
- 9. 추상 클래스의 객체 컬렉션에 정렬 메서드 사용
- 10. 부모 클래스 목록에서 자식 클래스의 인스턴스를 반환하는 일반적인 메서드
- 11. 추상 클래스의 생성자?
- 12. 추상 클래스의 상속
- 13. phpunit을 사용하는 추상 클래스의 모의 메서드
- 14. 리플렉션을 사용하여 추상 클래스의 개인 메서드 테스트
- 15. 추상 클래스의 포인터
- 16. Perl에서 같은 클래스의 메서드 내에서 클래스의 인스턴스를 만들 수 있습니까?
- 17. 추상 클래스의 AutoMoqCustomization이 작동합니까?
- 18. 추상 클래스의 캐싱 propertyinfo
- 19. 생성자에서 클래스의 인스턴스를 반환하는 함수 사용
- 20. 클래스의 새 인스턴스를 반환하는 함수를 만듭니다. - 처리
- 21. 자식 클래스의 객체를 반환하는 부모 클래스의 메서드/속성
- 22. Number 클래스의 Abstract 메서드
- 23. C# : 추상 클래스의 추상 및 비 추상적 메서드?
- 24. 추상 클래스의 속성 재정의
- 25. Java : 추상 클래스의 최종 변수
- 26. 추상 기본 클래스의 C++ 컬렉션
- 27. 추상 클래스의 사용/응용이란 무엇입니까?
- 28. 기본 클래스의 추상 메서드를 재정의합니다.
- 29. 추상 클래스의 메소드
- 30. 추상 클래스의 공개 필드?
추상 클래스에 인수를 사용하는 생성자가있는 경우에는 어떨까요? 구현 클래스가 반드시 super (arg1, arg2)를 수행 할 것이므로 위와 함께 전달할 수 있습니까? – user3236409
생성자에 대한 업데이트 중 ... – Kayaman