얻기 나는 Namable이상한 java.lang.NoSuchMethodError 오류
라는 인터페이스가public interface Namable { public String getName(); public void setName(String name); };
몇 가지 클래스는이를 구현됩니다.
를 걸 때 같은 코드 :
Namable foo = new X(); foo.getName();
(X 인 구현 클래스)
내가 오류 얻을 :
java.lang.NoSuchMethodError: Namable.getName()Ljava/lang/String;
이것은 매우 이상한입니다 저와 저는 왜 이것이 일어나고 있는지, 어떤 생각을하고 있는지 궁금합니다.
에 Compilable 예 :
Namable 클래스 :
public interface Namable
{
public String getName();
}
확장 클래스 X :
public class X extends java.util.ArrayList implements Namable
{
private String name;
public X()
{
this.name = "bar";
}
public String getName()
{
return name;
}
}
테스트 클래스 :
public class Test
{
public static void main()
{
Namable foo = new X();
foo.getName();
}
}
이를 실행 한 후, 나는 같은 얻을 오류. 나는 당신이 호출 할 필요가 BlueJ의
'foo = X()'에'new'가 누락 되었습니까? 아니면 정적 팩토리 메소드로'X'입니까? 프록시 클래스로 이국적인 것을하고 있습니까? DI 프레임 워크 나 프록시 클래스를 사용하는 테스트 스터 빙 프레임 워크와 같은 이국적인 프레임 워크를 사용하고 있습니까? –
이 문제에 대해 더 많은 코드 (및 올바른 코드)를 제공해주십시오. 나는 당신이 문제를 정확하게 설명하기에는 너무 짧다고 생각합니다. –
자, 코드에 "새로운"것이 있고 X는 단지 클래스입니다 (X 또한 ArrayList를 확장하는 일이 있습니다,이 부분이 될 수 있습니까?). 나는 멋진 것을하지 않고있다. 사실, 나는 문맥을 벗어난 문제를 상기와 같이 그리고 여전히 같은 오류를주는 것으로서 디버깅하려고했다. – Alan