>Java >java지도 시간 >Java의 Object 클래스에 대한 자세한 소개

Java의 Object 클래스에 대한 자세한 소개

高洛峰
高洛峰원래의
2017-01-17 16:43:241479검색

이론적으로 Object 클래스는 모든 클래스의 상위 클래스입니다. 즉, java.lang.Object 클래스를 직간접적으로 상속합니다. 모든 클래스는 Object 클래스에서 상속되므로 extends Object 키워드는 생략됩니다.
이 클래스에는 주로 toString(), getClass(), equals(), clone(), finalize() 메소드가 있으며, 그 중 toString(), getClass(), equals가 가장 중요한 메소드입니다.

참고:

Object 클래스의 getClass(), inform(), informAll(), wait() 및 기타 메소드는 최종 유형으로 정의되므로 재정의할 수 없습니다.

getClass() 메소드;
호출되면 일반적으로 getClass().getName()과 같이 getName()과 함께 사용됩니다. method;
재정의 가능; 실제 사용 시 특정 객체에 대해 특정 출력 모드가 제공되는 경우 이 유형이 문자열 또는 문자열 연결로 변환될 때 재정의된 toString() 메서드가 자동으로 호출됩니다.

public ObjectInstance{
public String toString(){
 return "在"+getClass().getName()+"重写toString()方法"
}
public static void main(String arg[]){
  System.out.println(new ObjectInstance());
}
}


equals() 메소드;

class V {
}
public class OverWriteEquals{
  public static void main(String args[]){
    String s1="123";
    String s2="123";
    System.out.println(s1.equals(s2));
    V v1= new V();
    V v2= new V();
    System.out.println(v1.equals(v2));
  }
}

출력 결과:

run:
true
false
BUILD SUCCESSFUL (total time: 0 seconds)


이 예에서 비교를 위해 사용자 정의 클래스에서 equals() 메소드를 사용할 때 false가 반환되는 것을 볼 수 있습니다. 왜냐하면 equals 메소드의 기본 구현은 비교하는 대신 두 객체의 참조 주소를 비교하는 "==" 연산자이기 때문입니다. 개체. 따라서 두 객체의 내용을 실제로 비교하려면 사용자 정의 클래스에서 equals() 메서드를 재정의해야 합니다.

Java의 Object 클래스에 대한 자세한 소개 및 관련 글은 PHP 중국어 홈페이지를 주목해주세요!


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