2012-07-17 8 views
2

Java 연습에서이 질문을 보았고 메모리 주소가 계속 인쇄되었습니다.String 생성자 매개 변수

다음 클래스의 코드를 작성합니다.

MyClass cls = new MyClass("Test Class"); 
System.out.println(cls); 

"테스트 클래스"입니다 :의 인쇄 결과가 있음을

public class MyClass 
{ 

} 

등.

(전체 클래스를 작성하고 응답에서 생성자의 매개 변수를 사용해야합니다.)

public class MyClass { 
    private String message; 
    public MyClass(String message) { 
     this.message = message; 
    } 
    @Override 
    public String toString() { 
     return message; 
    } 
} 
+0

주목해야 할 것이 하나 있습니다. 'toString'의 기본 구현은'getClass() .getName() + '@'+ Integer.toHexString (hashCode())'를 반환하지만 때로는 메모리 주소처럼 보입니다. –

답변

3

당신은 일을 위의 toString() 메소드를 오버라이드 (override) 해,이 같은 생성자를 추가해야 귀하의 생성자의 매개 변수로.

3

당신은 그것을 전송 값을 반환하도록, toString() 메서드를 재정의해야합니다

관련 문제