자바 에서 재 업로드 와 재 작성 에 대한 이해
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) 하위 함수 의 접근 수식 권한 은 부모 클래스 보다 적 으 면 안 됩 니 다.
구체 적 인 규칙 은 다음 과 같다.
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.