먼저, 과부하의 간결한 정의 및 덮어 쓰기 (재 작성)를 살펴 보겠습니다.
메소드 오버로드 : 두 메소드의 메소드 이름이 동일하지만 매개 변수가 일치하지 않으면 한 메소드가 다른 메소드의 과부하입니다.
메소드 오버라이드 : 메소드가 서브 클래스로 정의되면 이름, 반환 유형 및 매개 변수 서명이 부모 클래스의 메소드의 이름, 반환 유형 및 매개 변수 서명과 일치하면 서브 클래스의 메소드가 다음을 다루고 있다고 말할 수 있습니다. 부모 수업 방법
예를 들어 다음 코드를 취하는 적용 범위 문제에 초점을 맞추겠습니다.
Public Class People {public string getName () {return "people"} Public Class 학생 {public String getName () {return "Student"} public static void main (string [] args) {people p =. New People (); System.out.println (p.getName ()); // 실행 결과는 student s = new Student (); 결과는 학생 PP = New Student (); out.println (pp.getName ()); // 학생입니다.위의 결과는 학생 클래스의 getName 메소드가 학부모 클래스의 방법을 성공적으로 작성 함을 보여줍니다.
변수의 오버레이를 살펴 보겠습니다.
공개 클래스 {Protected String Name = "사람"; out .println (p.name); // 실행 결과는 학생 s = new Student (); system.out .println (pp.name); // 실행 결과는 사람입니다}결과를 실행함으로써 변수 오버레이는 실제로 메소드와 다르다는 것을 알았습니다.
내 말에 따르면 : 변수의 적용 범위는 최대 반으로 구운 적용 범위로 간주 될 수 있습니다.
그렇지 않으면 데이터 손실이 발생하면 상향 전환이 발생하지 않습니다
PEPLE PP = New Student ();
내 개인적인 경험에서 : 변수의 적용 범위는 실수를 쉽게 할 수 있습니다. 그것은 사람들이 C ++의 상속으로 돌아간 것처럼 느끼게합니다. [이것은 가상과의 C ++의 상속이 아닙니다]
마지막으로 다른 코드를 살펴 보겠습니다.
공개 클래스 {propected string getName () {public class 학생; String [] args) {people p = new People (); getName : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : .println (pp.getName ()); // 실행 결과는 학생입니다}분명히, 그러한 적용 범위는 우리에게 더 유용한 범위입니다. 이런 식으로 우리는 콘크리트 물체를 일반적인 물체와 실제 다형성으로 추상화하는 목적을 달성 할 수 있기 때문입니다.
위의 내 개인적인 의견입니다.