>  기사  >  Java  >  Java 예제 - 메소드 재정의

Java 예제 - 메소드 재정의

黄舟
黄舟원래의
2017-02-16 10:17:111327검색

이전 장에서는 Java 메소드 재작성에 대해 배웠습니다. 이번 글에서는 Java 메소드 커버리지 구현에 대해 살펴보겠습니다.

메서드 오버로딩과 메소드 덮어쓰기의 차이점은 다음과 같습니다.

  • 메서드 오버로딩(Overloading): 메소드 이름은 같지만 매개변수가 일치하지 않는 두 메소드가 있는 경우 메소드가 다른 메소드의 오버로드라고 말할 수 있습니다.

  • 메서드 재정의: 메서드가 하위 클래스에 정의된 경우 해당 이름, 반환 유형 및 매개변수 서명은 상위 클래스에 있는 메서드의 이름, 반환 유형 및 매개변수와 정확히 동일합니다. class 시그니처가 일치하면 하위 클래스의 메서드가 상위 클래스의 메서드를 재정의한다고 말할 수 있습니다.

다음 예에서는 Java 메소드 대체 코드의 구현을 보여줍니다.

/*
 author by w3cschool.cc
 Findareas.java
 */public class Findareas{
   public static void main (String []agrs){
      Figure f= new Figure(10 , 10);
      Rectangle r= new Rectangle(9 , 5);
      Figure figref;
      figref=f;
      System.out.println("Area is :"+figref.area());
      figref=r;
      System.out.println("Area is :"+figref.area());
   }}class Figure{
   double dim1;
   double dim2;
   Figure(double a , double b) {
      dim1=a;
      dim2=b;
   }
   Double area() {
      System.out.println("Inside area for figure.");
      return(dim1*dim2);
   }}class Rectangle extends Figure {
   Rectangle(double a, double b) {
      super(a ,b);
   }
   Double area() {
      System.out.println("Inside area for rectangle.");
      return(dim1*dim2);
   }}

위 코드를 실행한 결과는 다음과 같습니다.

Inside area for figure.
Area is :100.0
Inside area for rectangle.
Area is :45.0

위의 내용은 Java 예제 - 메소드에 포함된 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Java 예제 - 계승다음 기사:Java 예제 - 계승