2017-03-04 4 views
0

아래 프로그램에서 래퍼 클래스의 정적 'toString'메서드를 사용하여 Numbers를 문자열로 변환하려고합니다.Java Wrapper 클래스의 'toString'메소드가 오버로드되었거나 다른 클래스에 다른 정의가있는 추상 메소드입니까?

class NumberToStringConversion 
{ 
    public NumberToStringConversion() 
{ 
    String I=Integer.toSring(i); 
    String F=Float.toString(f); 
    String D=Double.toString(d); 
    String L=Long.toString(l); 
} 
} 

여기에서 Integer, Float, Double 및 Long은 각각 해당 프리미티브 데이터 유형의 래퍼 클래스입니다. 앞에서 설명한 모든 래퍼 클래스에 toString 메서드가있는 것처럼 보입니다. toString 메서드에 오버로드가 발생 했습니까? 또는 다른 클래스에 다른 정의가있는 abstract 메서드입니까?

+0

번호 그들은 다른 클래스에 다른 방법을,하지만 이름이 같은 일이. – Jeremy

답변

5

호출중인 toString() 메서드는 정적 메서드입니다. 상속은 정적 메서드에는 적용되지 않습니다. 각 래퍼 클래스에는 정적 및 비 정적 메서드가 모두 포함되어 있습니다. toString() 정적 인 것들은 서로 관련이 없습니다. 비 정적 인 것들은 Object.toString()을 덮어 씁니다.

Integer

는, 예를 들어, 세 toString() 방법이 있습니다

String toString(); // overrides Object.toString() 
static String toString(int i); 
static String toString(int i, int radix); 
+0

존 감사합니다. 정적 메서드는 'Integer.toString'클래스 이름을 사용하여 호출되며 클래스가 인스턴스화되지 않고 생성 된 개체가없는 경우에도 사용할 수 있다는 것을 알고 있습니다. 그래서,이 모든 메소드가 같은 이름을 갖는 것은 편의를 위해서일까요? – Sivani

+0

예, 일관성 때문입니다. –