Lucene 정보 검색 API에서 보호 된 정적 메서드를 사용하려고합니다. 정적에 대한 나의 이해는 클래스 정의로부터 액세스된다는 것과 보호 된 키워드에 대한 나의 이해는 클래스 나 서브 클래스의 인스턴스에서만 액세스 할 수 있다는 것입니다. 그렇다면 정적으로 보호 된 메소드에 얼마나 정확하게 액세스합니까? 내 이해가 틀렸는가? 가져온 항아리의 라이브러리에서 보호 된 정적 메서드를 호출하려고합니다. 내가 어떻게 그럴 수 있니? 내가 클래스 이름의 "자료"부분은 당신에게 힌트를 제공한다 StopwordAnalyzerBaseProtected Static Method Access
3
A
답변
2
StopwordAnalyzerBase.loadStopwordSet(params)
으로이 메소드를 호출 할 수없는 이유는 무엇입니까?
(컴파일하고 내 컴퓨터에서 작동하는)이 예를 살펴 : 78 (루씬 버전 4.9.0 :
package p1;
public class C1 {
protected void nonStatic() {}
protected static void isStatic() {}
}
----
package p2;
import p1.C1;
public class C2 extends C1 {
public void someMethod() {
super.nonStatic();
C1.isStatic(); // or even C2.isStatic()
}
}
를 다시 원래의 질문에 도착,이 방법은 ArabicAnalyzer 내에서 호출되는 것을 볼 수 있습니다 , 패키지 org.apache.lucene.analysis.ar
)뿐만 아니라 많은 다른 것들.
+0
잠시만 기다려주세요. 이해하지만 이해할 수 있습니다. 확장 클래스 내에서 정적 메서드를 호출해야합니다. –
2
에서 loadStopwordSet를 호출하고이 경우
:이 그것은 그것 때문에 정적 StopwordAnalyzerBase 의 서브 클래스에서 호출하기위한 것입니다 인스턴스 메소드 일 필요는 없습니다 (자체적으로 포함되어 있으며 호출하는 객체의 상태를 변경하지 않습니다). API를 살펴보면 최소한 보호되는 이유는 알 수 없습니다. 최소 권한 원칙을 따를 것 외에도+0
BaseAnyalyzer에서 전화를 걸었습니다. 기본과 일식을 확장하면 여전히 보이지 않습니다. –
관련 문제
- 1. Junit protected method
- 2. mocking protected method
- 3. C# static method question
- 4. java static synchronized method
- 5. Java : Protected Method Before Interface
- 6. BackgroundWorker, update gui, static method
- 7. thread from static method Java
- 8. public static double array method
- 9. JTable, data, non static method
- 10. Java public static boolean method
- 11. 배우기 자바 public static main method
- 12. Java Synchronized Method on Static Variable
- 13. static method objective c-init once
- 14. Android : get static method with application
- 15. 배열리스트에 "Non Static method reference Static Context"라는 오류 메시지가있는 문자열을 어떻게 할당합니까?
- 16. JAVA : "protected abstract method"의 범위를 어떻게 확인할 수 있습니까?
- 17. C# public static method - 사용자 간의 정보 공유
- 18. 저지 클라이언트가있는 "Origin"및 "Access-Control-Request-Method"헤더 설정
- 19. static public vs public static
- 20. jQuery $ .method() vs $ (selector) .method()
- 21. Ruby Protected Methods 문제
- 22. [email protected]
- 23. protected internal
- 24. Reflection VS static stuff
- 25. Protected Member에 관한 액세스
- 26. PHP 치명적 오류 : static 메소드를 만들 수 없습니다. enda_woocommerce_bundlerate_shipping 클래스에서 static WC_Shipping_Method :: is_enabled() static
- 27. @Autowired with static variables
- 28. public static 변수와 private static 변수의 차이점
- 29. Boost :: static with static factory methods
- 30. 클래스는 Java의`static` 또는`non-static`입니까?
흠, 나는 왜 메소드가 보호되고 정적이어야하는지 알지 못합니다. 정적 방법은 "독립형"이어야합니다. 어쨌든이 메서드에 액세스하려고하면 클래스를 호출하려고 시도하는 클래스는 정적 메서드가있는 수퍼 클래스를 확장해야합니다. – nafas
@nafas 그게 내 생각 이었지만 Lucene을 사용해야하고 그 방법은 무엇입니까 서면 –
안녕하세요, 내 의견을 업데이 트했습니다. 희망이 도움이 – nafas