[코드 농 매일 1 문제] 자바 리 셋 과 면접 기초 문제 리 셋

3786 단어 javax 학습자바
― 자바 리 셋 과 리 셋 이 무엇 인지 간단히 말 해 볼 까?무슨 차이 가 있 습 니까?
 
답: 과부하 (Overload) 는 클래스 로 하여 금 서로 다른 유형의 데 이 터 를 통일 적 으로 처리 하 게 하 는 수단 이다. 실질 적 으로 표현 하 는 것 은 서로 다른 매개 변수 개수 나 유형 을 가 진 동명 함수 (반환 값 유형 은 마음대로 할 수 있 고 반환 유형 을 과부하 함수 의 구분 기준 으로 할 수 없다) 가 같은 유형 에 동시에 존재 하 는 것 으로 같은 유형 에서 다 형 적 인 표현 이다.(호출 방법 은 서로 다른 매개 변수 개수 와 매개 변수 유형 을 전달 하여 어떤 방법의 다 형 성 을 구체 적 으로 사용 할 지 결정 합 니 다).
 
다시 쓰기 (오 버 라 이 드)부모 클래스 와 하위 클래스 간 의 다 형 성 입 니 다. 실질 적 으로 부모 클래스 의 함 수 를 재 정의 하 는 것 입 니 다. 만약 에 하위 클래스 에서 특정한 방법 이 부모 클래스 와 같은 이름과 파 라 메 터 를 정의 하면 이 방법 은 재 작성 되 지만 하위 함수 의 방문 수식 권한 은 부모 클래스 보다 작 을 수 없습니다. 만약 에 하위 클래스 의 방법 이 부모 클래스 의 특정한 방법 과 같은 방법 명, 반환 유형 과 매개 변수 표를 가지 고 있다 면새로운 방법 은 기 존의 방법 을 덮어 씁 니 다. 부모 클래스 에 있 는 방법 이 필요 하 다 면 슈퍼 키 워드 를 사용 할 수 있 습 니 다. 
 
리 셋 규칙: 서로 다른 매개 변수 목록 이 있어 야 합 니 다. 서로 다른 반환 형식 이 있 을 수 있 습 니 다. 서로 다른 접근 수정자 가 있 을 수 있 습 니 다. 서로 다른 이상 을 던 질 수 있 습 니 다.
 
재 작성 규칙: 매개 변수 목록 은 재 작성 되 는 방법 과 똑 같 아야 합 니 다. 그렇지 않 으 면 재 작성 이 라 고 할 수 없고 재 업로드 라 고 할 수 없습니다. 재 작성 유형 은 재 작성 되 는 방법 과 같 아야 합 니 다. 그렇지 않 으 면 재 작성 이 라 고 할 수 없고 재 작성 되 는 방법 과 같은 방문 수정자 에 접근 하 는 제한 이 있어 야 합 니 다. 재 작성 방법 은 새로운 검사 이상 이나 피 팅 보다 높 아야 합 니 다.재 작성 방법 은 더욱 광범 위 한 검사 형 이상 을 설명 한다. 예 를 들 어 부모 류 방법 은 검사 이상 IOException 을 성명 했다. 이 방법 을 재 작성 할 때 Exception 을 던 질 수 없고 IOException 의 하위 클래스 이상 만 던 질 수 있 으 며 비 검사 이상 을 던 질 수 있다.
 
리 셋 과 리 셋 은 자바 다 태 성의 서로 다른 표현 이다. 리 셋 은 부모 클래스 와 하위 클래스 간 의 다 태 적 표현 으로 실행 할 때 작용 (동적 다 태 성, 예 를 들 어 동적 귀속 실현) 하고 리 셋 은 하나의 클래스 에서 다 태 적 표현 으로 컴 파일 할 때 작용 (정적 다 태 성, 예 를 들 어 정적 귀속 실현) 한다.
 
 
― 자바 구조 방법 은 재 작성 과 재 업로드 가 가능 할 까?
 
답: 다시 쓰 는 것 은 하위 클래스 방법 으로 부모 클래스 를 다시 쓰 는 방법 입 니 다. 다시 쓰 는 방법 은 이름 이 변 하지 않 습 니 다. 클래스 의 구조 방법 명 은 반드시 클래스 이름과 일치 해 야 합 니 다. 부모 클래스 의 구조 방법 이 피 하위 클래스 에 다시 쓸 수 있다 고 가정 하면 하위 클래스 의 이름 은 부모 클래스 와 일치 해 야 합 니 다. 따라서 자바 의 구조 방법 은 다시 쓸 수 없습니다. 다시 쓰 는 것 은 같은 것 이 므 로 구조 방법 은 다시 실 을 수 있 습 니 다.。
 
 
가: 다음 프로그램의 실행 결 과 는 무엇 입 니까? 왜 요?
 
  • public class Demo {
  •    public boolean equals( Demo other) {        System.out.println("use Demo equals." );
  •        return true;
  •    }
  •  
  •  
  •    public static void main(String[] args) {
  •        Object o1 = new Demo();
  •        Object o2 = new Demo();
  •  
  •  
  •        Demo o3 = new Demo();
  •        Demo o4 = new Demo();
  •  
  •  
  •        if(o1.equals(o2)) {
  •            System.out.println("o1 is equal with o2.");
  •        }
  •  
  •  
  •        if(o3.equals(o4)) {
  •            System.out.println("o3 is equal with o4.");
  •        }
  •    }
  • }

  •  
    답: 위의 프로그램의 운행 결 과 는 다음 과 같다.
    use Demo equals.
    o3 is equal with o4.
     
    Demo 클래스 의 Public boolean equals (Demo other) 방법 은 Object 클래스 의 Public boolean equals (Object obj) 방법 을 다시 쓰 지 않 았 기 때문에 매개 변수 규칙 에 어 긋 났 기 때 문 입 니 다. 그 중 하 나 는 Demo 형식 이 고 다른 하 나 는 Object 형식 이기 때문에 이 두 가지 방법 은 재 업로드 관계 (컴 파일 할 때 발생) 이 므 로 o1. equals (o 2) 를 호출 할 때o2 는 Object 형식 매개 변수 로 Object 클래스 의 Public boolean equals (Object obj) 방법 을 실제 호출 했 습 니 다. 컴 파일 할 때 o1 과 o2 는 모두 Object 형식 이 고 Object 클래스 의 equals 방법 은 메모리 주 소 를 비교 해서 false 로 되 돌아 갑 니 다. o3. equals (o4) 를 호출 할 때 실제 Demo 클래스 의 equals (Demo other) 를 호출 했 습 니 다.방법 은 컴 파일 할 때 o 3 과 o 4 가 모두 데모 형식 이기 때문에 위의 인쇄 가 있 습 니 다.

    좋은 웹페이지 즐겨찾기