지금 당장은 Java에 익숙해졌습니다. 이 확장 클래스를 OCA 7 서적에서 보았고 Baz 클래스가 go 메소드를 사용하고 리턴 유형 String을 기대할 수 있는지 궁금해했다. 그러나 인수는 int를 취한다. 반환 값은 null입니다.Java 클래스 메소드는 String 타입을 정의하고, int를 param으로 받아 null을 반환합니다.
Baz가 법적 구조입니까? 그렇지 않으면 컴파일 오류가 반환됩니까? 즉, String 유형을 반환하지만 int 인수를 취한 다음 null을 반환합니다. 어떻게 가능합니까? Baz
이후
public class Foo {
void go() {}
}
public class Baz extends Foo {
String go(int x) {
return null;
}
}
'go()'와'go (int)'는 상당히 다른 방법입니다 (https://docs.oracle.com/javase/). 자습서/java/javaOO/methods.html). 그들이 같은 이름을 가지고 있다는 것을 혼동하지 마십시오. 그들의 서명은 다릅니다. – dhke
@dhke 나는 그가 상속을 전혀 염려하지 않는다고 생각한다. 그는 단지'String'을 반환해야 할 때'null'을 반환 할 수 있다는 혼란을 겪고 있습니다. – Gendarme
"Baz가 합법적인가요? 아니면 컴파일 오류가 반환됩니까?" 너 시도 할 때 무슨 일이 있었 니? –