자바 에서 재 업로드 와 재 작성 에 대한 이해

3767 단어 Java
본 고 는 자바 학습 에 대한 메모 이다.
다시 불 러 오기 (과부하):
1) 방법 과부하 는 서로 다른 유형의 데 이 터 를 통일 적 으로 처리 하 는 수단 이다.여러 개의 동명 함수 가 동시에 존재 하 며 서로 다른 매개 변수 개수 / 유형 을 가지 고 있 습 니 다.무 거 운 짐 은 유형 중의 다 형 적 표현 이다.
2) 자바 의 방법 을 다시 불 러 오 는 것 은 클래스 에서 여러 가지 방법 을 만 들 수 있 습 니 다. 같은 이름 을 가지 고 있 지만 서로 다른 매개 변수 와 정 의 를 가지 고 있 습 니 다.호출 방법 은 서로 다른 매개 변수 개수 와 매개 변수 유형 이 서로 다른 매개 변수 개수 와 매개 변수 유형 에 전달 하 는 서로 다른 매개 변수 개수 와 매개 변수 유형 을 통 해 어떤 방법 을 구체 적 으로 사용 할 지 결정 합 니 다. 이것 이 바로 다 태 성 이다.
3) 다시 불 러 올 때 방법 명 은 같 지만 매개 변수 유형 과 개수 가 다 르 기 때문에 반환 값 유형 은 같 을 수도 있 고 다 를 수도 있 습 니 다.리 턴 형식 을 리 셋 함수 의 구분 기준 으로 할 수 없습니다.
4) 주의: 다시 불 러 오 는 방법의 되 돌아 오 는 값 은 모두 같 습 니 다. 되 돌아 오 는 값 으로 다시 불 러 오 는 방법 을 구분 할 수 없습니다. (단, 되 돌아 오 는 값 형식 은 같 을 수도 있 고 다 를 수도 있 습 니 다.
) '매개 변수 유형' 과 '클래스 이름' 으로 만 구분 할 수 있 습 니 다.이유: 자바 에 서 는 반환 값 이 있 는 방법 을 호출 할 때 변 수 를 되 돌려 주지 않 아 도 됩 니 다. 그러면 JVM 은 반환 값 이 있 는 지 없 는 지 모 릅 니 다.
    구체 적 인 규칙 은 다음 과 같다.
  • 다시 불 러 오 는 방법 은 매개 변수 목록 을 바 꿔 야 합 니 다 (매개 변수 개수 나 유형 또는 순서 가 다 릅 니 다).
  • 다시 불 러 오 는 방법 은 반환 유형 을 바 꿀 수 있 습 니 다.
  • 다시 불 러 오 는 방법 은 액세스 수식 자 를 바 꿀 수 있 습 니 다.
  • 무 거 운 짐 을 싣 는 방법 은 새로운 것 이나 더 넓 은 검사 이상 을 설명 할 수 있다.
  • 방법 은 같은 종류 에서 또는 한 부류 에서 무 거 운 짐 을 실 을 수 있다.
  • 반환 값 형식 을 과부하 함수 의 구분 기준 으로 할 수 없습니다.
  • package study;
    
    //MyClass  ,   print  ,       ,     
    public class MyClass {
        public void print(String name){
            System.out.println("  :"+name);
        }
        public void print(String name,int age){
            System.out.println("  :"+name+"\t  :"+age);
        }
    }

    다시 쓰기 (overriding):
    1) 부류 와 부류 간 의 다 태 성 은 부류 의 함 수 를 재정의 한다.하위 클래스 에서 부모 클래스 와 같은 이름과 파 라 메 터 를 정의 하면 재 작성 된다 고 합 니 다. (Overriding)。자바 에 서 는 하위 클래스 가 부모 클래스 의 방법 을 계승 할 수 있 으 며, 같은 방법 을 다시 만 들 필요 가 없습니다.그러나 때때로 자 류 는 부 류 를 그대로 계승 하 는 방법 이 아니 라 일정한 수정 을 하려 면 방법의 재 작성 이 필요 하 다.방법 을 다시 쓰 는 것 을 방법 으로 덮어 쓰 는 것 이 라 고도 한다.
    2) 하위 클래스 의 방법 이 부모 클래스 의 특정한 방법 과 같은 방법 명, 반환 유형 과 매개 변수 표를 가지 고 있다 면 새로운 방법 은 기 존의 방법 을 덮어 씁 니 다.부모 클래스 에 있 는 방법 이 필요 하 다 면 슈퍼 키 워드 를 사용 할 수 있 습 니 다. 이 키 워드 는 현재 클래스 의 부모 클래스 를 참조 합 니 다.
    3) 하위 함수 의 접근 수식 권한 은 부모 클래스 보다 적 으 면 안 됩 니 다.
    구체 적 인 규칙 은 다음 과 같다.
  • 매개 변수 목록 은 재 작성 방법 과 완전히 같 아야 합 니 다.
  • 반환 유형 은 재 작성 방법의 반환 유형 과 완전히 같 아야 합 니 다.
  • 부모 클래스 에서 재 작성 되 는 방법 보다 접근 권한 이 낮 을 수 없습니다.예 를 들 어 부모 클래스 의 한 방법 이 Public 로 밝 혀 지면 하위 클래스 에서 이 방법 을 다시 쓰 면 proctected 라 고 밝 힐 수 없습니다.
  • 부류 의 구성원 방법 은 하위 클래스 에 의 해 다시 쓸 수 밖 에 없다.
  • final 로 성명 하 는 방법 은 다시 쓸 수 없다.
  • static 로 성명 하 는 방법 은 다시 쓸 수 없 지만 다시 성명 할 수 있 습 니 다.
  • 하위 클래스 와 부모 클래스 가 같은 가방 에 있 으 면 하위 클래스 는 부모 클래스 의 모든 방법 을 다시 쓸 수 있 습 니 다. private 와 final 로 설명 하 는 방법 을 제외 하고.
  • 하위 클래스 와 부모 클래스 가 같은 가방 에 없 으 면 하위 클래스 는 부모 클래스 의 성명 을 Public 와 proctected 의 비 final 방법 으로 다시 쓸 수 있 습 니 다.
  • 재 작성 방법 은 재 작성 방법 에 이상 이 있 든 없 든 강제 적 이지 않 은 이상 을 던 질 수 있다.그러나 재 작성 방법 은 새로운 강제 성 이상 을 던 져 서 는 안 되 며, 재 작성 방법 보다 더 광범 위 한 강제 성 이상 을 던 져 서 는 안 되 며, 반대로 도 가능 하 다.
  • 구조 방법 은 다시 쓸 수 없다.
  • 한 가지 방법 을 계승 하지 못 하면 이 방법 을 다시 쓸 수 없다.
  • import java.util.*;
    public class zilei{
     public static void main(String arg[]){
      System.out.println("        :");
      Scanner reader=new Scanner(System.in);
      int a=reader.nextInt();
      int b=reader.nextInt();
      A aa;
      B bb;
      aa=new A();
      bb=new B();
      int d=aa.f(a,b);
      System.out.println("     :" +d);
      int k=bb.f(a,b);
      System.out.println("     :" +k);
     }
    }
    class  A {
     public int f(int a,int b){
      int r=a%b;
      while(r!=0){
      a=b;
      b=r;
      r=a%b;
      }
      return b;
      }
     }
    class B extends  A{
     public  int f(int a,int b){
      int m=super.f(a, b);
      return ((a*b)/m);
     }
    }

    참고:http://blog.csdn.net/zhu_apollo/article/details/1852542

    좋은 웹페이지 즐겨찾기