PHP 편집자 Xigua는 Java의 다형성 및 정적 바인딩에 대한 질문을 자주 받습니다. 이 두 가지 개념은 Java에서 자주 언급되지만 초보자에게는 혼란스러울 수 있습니다. 이 기사에서는 다형성과 정적 바인딩의 개념을 간략하게 소개하고 자주 묻는 질문에 답변하여 독자가 이러한 개념을 더 잘 이해하고 적용할 수 있도록 돕습니다.
저는 아직 Java를 처음 접합니다. 그래서 다형성과 정적 바인딩에 대해 읽으면서 Java를 가지고 놀았습니다. 나는 내 사고 과정이 올바른지 명확히하기 위해 여기에 있습니다.
으아아아저는 c
라는 다음 개체를 만들고 c를 인수로 사용하여 foo를 호출했습니다.
Java의 오버로딩 및 동적 바인딩에 대한 이 질문에서 전송된 매개변수가 클래스에서 발견되지 않으면 매개변수(이 경우 c)를 클래스에서 찾을 수 있는 매개변수로 업캐스트한다는 것을 이해합니다. 인수(이 경우에는 void foo (a a)
이므로 a)입니다. 하지만 그렇다면 "cccccbbbb"를 인쇄해야 하지 않나요? 정적 바인딩을 통해? void foo (a a)
)。但如果是这样的话,它不应该打印“cccccbbbb”吗?通过静态绑定?
类 c
有 2 个重载方法,名称为 foo
c
的参数调用方法 foo
时,将选择最具体的一个 - 类 b
在层次结构上比类 a
更接近,因此调用 foo(b)
Class
foo
🎜라는 2개의 오버로드된 메서드가 있습니다.
으아아아
🎜클래스 🎜의 인수를 사용하여 foo
메서드를 호출하면 가장 구체적인 클래스가 선택됩니다. 즉 a
클래스보다 계층적으로 높은 클래스 b
입니다. 더 가깝기 때문에 foo(b)
가 호출됩니다. 🎜위 내용은 Java의 다형성과 정적 바인딩에 대한 혼란의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!