Java Object 클래스

3550 단어 자바object
개술      Object 류 는 모든 자바 류 의 조상 이다.각 클래스 는 Object 를 초 클래스 로 사용 합 니 다.모든 대상(배열 포함)이 이러한 방법 을 실현 한다.초 류 를 명확 하 게 제시 하지 않 은 상태 에서 자바 는 자동 으로 Object 를 정의 할 클래스 의 초 류 로 한다.Object 형식의 변 수 를 사용 하여 임의의 유형의 대상 을 가리 킬 수 있 습 니 다.Object 클래스 는 기본 구조 방법 인 pubilc Object()가 있 습 니 다.하위 클래스 인 스 턴 스 를 구성 할 때 이 기본 구조 방법 을 먼저 사용 합 니 다.      Object 클래스 의 변 수 는 여러 값 의 유 니 버 설 소유자 로 만 사용 할 수 있 습 니 다.그들 에 게 어떠한 전문 적 인 조작 을 하려 면 그들의 원시 유형 을 알 고 유형 전환 을 해 야 한다.예 를 들 면:      Object obj = new MyObject();
      MyObject x = (MyObject)obj; 
2.API 미리 보기    Object()     기본 구조 방법    clone()      이 대상 의 복사 본 을 만 들 고 되 돌려 줍 니 다.      equals(Object obj)      어떤 다른 대상 에 게 이 대상 과 동일 한 지 를 지시 하 다.      finalize()      쓰레기 회수 기 가 이 대상 에 대한 더 많은 인용 이 존재 하지 않 는 다 고 확 인 될 때 대상 의 쓰레기 회수 기 에서 이 방법 을 호출 합 니 다.      getClass()      대상 의 런 타임 클래스 를 되 돌려 줍 니 다.      hashCode()      이 대상 의 해시 코드 값 을 되 돌려 줍 니 다.      notify()      이 대상 모니터 에서 기다 리 는 단일 스 레 드 를 깨 웁 니 다.      notifyAll()      이 대상 모니터 에서 기다 리 는 모든 스 레 드 를 깨 웁 니 다.      toString()      이 대상 의 문자열 을 되 돌려 줍 니 다.      wait()      다른 스 레 드 가 이 대상 의 notify()방법 이나 notify All()방법 을 호출 할 때 까지 현재 스 레 드 를 기다 리 게 합 니 다.      wait(long timeout)      다른 스 레 드 가 이 대상 의 notify()방법 이나 notify All()방법 을 호출 하거나 지정 한 시간 을 초과 할 때 까지 현재 스 레 드 를 기다 리 게 합 니 다.      wait(long timeout, int nanos) 
    다른 스 레 드 가 이 대상 의 notify()방법 이나 notify All()방법 을 호출 하거나 다른 스 레 드 가 현재 스 레 드 를 중단 하거나 실제 시간 을 초과 할 때 까지 현재 스 레 드 를 기다 리 게 합 니 다. 
3.방법 사용 설명
      equals()방법:어떤 대상 이 다른 대상 과 같 는 지 테스트 하 는 데 사용 합 니 다.이것 은 Object 클래스 에서 두 대상 이 같은 메모리 영역 을 가리 키 는 지 판단 하 는 것 입 니 다.이 테스트 는 내용 이 같은 대상 이라도 메모리 영역 이 다 르 기 때문에 쓸모 가 크 지 않다.대상 이 같은 지 시험 하려 면 이 방법 을 덮어 쓰 고 더 의미 있 는 비 교 를 해 야 한다.예컨대
class Employee{
    public boolean equals(Object otherObj){
        //            
        if(this == otherObj) return true;
        //       null,    false
        if(otherObj == null) reutrn false;
        //      ,      
        if(getClass() != otherObj.getClass()) return false;
        
        //      otherObj     Employee  
        Employee other = (Employee)otherObj;
        //           
        return name.equals(other.name)
            && salary == other.salary
            && hireDay.equals(other.hireDay);
    }
}

      자바 언어 규범 은 equals 방법 이 다음 과 같은 특징 을 가지 도록 요구한다.      자 반성:비어 있 지 않 은 인용 값 x,x.equals(x)는 true 로 돌아 가 야 합 니 다.        대칭 성:비 어 있 는 참조 값 x 와 y 에 대해 y.equals(x)가 true 로 돌아 갈 때 x.equals(y)는 true 로 돌아 가 야 합 니 다.        전달 성:비 어 있 는 참조 값 x,y,z 에 대해 x.equals(y)가 true 로 돌아 가 고 y.equals(z)가 true 로 돌아 가면 x.equals(z)는 true 로 돌아 가 야 합 니 다.        일치 성:빈 인용 값 x 와 y 에 대해 x.equals(y)를 여러 번 호출 하여 true 로 되 돌아 가 거나 false 로 되 돌아 갑 니 다.전 제 는 대상 의 equals 비교 에 사용 되 는 정보 가 수정 되 지 않 았 다 는 것 입 니 다.        비어 있 지 않 은 인용 값 x,x.equals(null)는 false 로 돌아 가 야 합 니 다.      여기 서 보 듯 이 위의 예 는 자바 규범 의 equals 방법의 표준 실현 이 고 상기 사례 의 쓰기 실현 류 의 equals 방법 을 추천 합 니 다. 
      toString():이 대상 의 문자열 을 되 돌려 줍 니 다.Object 클래스 의 toString()방법 은 클래스 이름과 대상 의 메모리 위 치 를 출력 합 니 다.대상 의 현재 상태 에 대한 표 시 를 인쇄 하기 위해 거의 모든 클래스 가 이 방법 을 덮어 씁 니 다.대부분의(전부 가 아 닌)toString()방법 은 다음 과 같은 형식 을 따 릅 니 다.클래스 이름[필드 이름=값,필드 이름=값...]물론 하위 클래스 는 자신의 toString()방법 을 정의 해 야 합 니 다.예 를 들 면:
public String toString(){
    reurn "Employee[name=" + name + ",salary=" + salary + ",hireDay=" + hireDay + "]";
}

       toString()방법 은 매우 중요 한 디 버 깅 도구 입 니 다.많은 표준 라 이브 러 리 의 클래스 는 프로그래머 가 유용 한 디 버 깅 정 보 를 얻 을 수 있 도록 toString()방법 을 정의 합 니 다.

좋은 웹페이지 즐겨찾기