하위 클래스에 상위 클래스의 기능이 필요하고 하위 클래스에 새 콘텐츠가 있는 경우 상위 클래스의 메서드를 재정의할 수 있습니다. 실제 개발 과정에서 코드의 양이 점차 늘어나면서 유지 관리가 큰 문제가 되었는데, 메소드를 수정해야 할 경우 자체 코드와 하위 클래스 코드가 영향을 받게 되므로 문제를 해결하는 것이 좋습니다.
메서드 재작성은 메소드 덮어쓰기 및 메소드 복사라고도 합니다. (추천 학습: vjava 강좌)
Rewriting은 하위 클래스의 구현 과정으로 상위 클래스에 대한 접근을 허용하며, 반환값과 Shape 매개변수는 변경할 수 없습니다.
메소드 재작성의 특징
하위 클래스와 상위 클래스의 메소드 선언은 동일합니다.하위 클래스의 메소드 선언은 상위 클래스의 메소드 선언과 동일해야 합니다오버라이드할 메소드 하위 클래스, 메서드 권한 수정자는 상위 클래스보다 낮을 수 없습니다(공용, 보호, 기본, 개인 권한 순서로 증가)상위 클래스의 비공개 메서드, 하위 클래스는 메서드를 재정의할 수 없습니다코드 예
Person.java 부모 첫 번째 클래스 만들기package Rewrite; public class Person { public void eat() { System.out.println("吃饭!"); } public void work() { System.out.println("工作!"); } public void sleep() { System.out.println("睡觉!"); } }
Main.java에서 Student.java 하위 클래스 만들기
package Rewrite; /* Student子类继承Person父类,并对父类的work()方法进行重写 */ public class Student extends Person { public void work() { super.work(); //使用super关键字调用父类方法 System.out.println("学习!"); System.out.println("娱乐!"); } }
Call
package Rewrite; public class Main { public static void main(String[] args) { Person per = new Person(); //创建父类对象 per.eat(); per.work(); per.sleep(); Student stu = new Student(); //创建子类对象 stu.work(); } }
예제 분석:
은 Person 부모 클래스에 세 가지 메서드를 정의합니다. , 그리고 하위 클래스에서 에서 work() 메서드를 다시 작성합니다.재작성 시 함수의 반환값 유형, 함수 이름, 매개변수 목록은 동일합니다.
서브 클래스에서는 super 키워드를 사용하여 부모를 호출할 수 있습니다. 수업방식
위 내용은 Java에서 다시 작성이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!