2009-12-28 4 views

답변

17

확실히. 원하는 멤버에 멤버를 추가 할 수 있습니다. 예를 들어이 클래스는 문자열과 11 개의 정수를 저장합니다. 정수는 배열에 저장됩니다. 그들 중 11 개 (또는 어떤 고정 된 숫자가 분명히 있음)를 알게된다면 이것은 11 개의 분리 된 int 멤버를 저장하는 것이 바람직합니다.

public class MyObject { 
    private String text; 
    private int[11] numbers = new int[11]; 

    public String getText() { return text; } 
    public void setText(String text) { this.text = text; } 
    public int getNumber(int index) { return numbers[index]; } 
    public void setNumber(int index, int value) { numbers[index] = value; } 
} 

그래서 당신은 같은 일부 코드를 작성할 수 있습니다 :

MyObject ob = new MyObject(); 
ob.setText("Hello world"); 
ob.setNumber(7, 123); 
ob.setNumber(3, 456); 
System.out.println("Text is " + ob.getText() + " and number 3 is " + ob.getNumber(3)); 

참고 : 자바 배열은을 제로를 기준으로합니다. 즉, 크기 11 배열에는 0부터 10까지의 인덱스에 요소가 있습니다.

숫자와 텍스트의 의미와 용도가 고정 숫자 인 경우 11을 지정하지 않았습니다. 답변에 따라 최선을 다하는 방법을 완전히 바꿀 수 있습니다.

+2

그 숫자는 12입니다 : P –

+5

int x [5]는 5입니다. 따라서 12가 아닙니다. – JonH

+0

@Josh Stodola, 어떤 범죄입니까? new int [11]로 int 배열을 초기화하는 것은 배열의 위치 중 하나를 참조하는 것이 아니라 생성자이기 때문에 11 개의 int 프리미티브만을 유지합니다. 그리고 cletus는 varargs-type 메서드 나 생성자를 사용하지 않았습니다. 따라서 두 가지 주석에 혼란 스럽습니다. – delfuego

2

예 - 12 명 개인 데이터 멤버를 확인하고 당신이 거기에있어.

모두 같은 개체에 속하는지 여부는 다른 질문입니다.

0

예. 이 클래스를 만들어야합니다. 것이 가능하다.

1

당신은 Object들뿐만 아니라 배열에 넣을 수 있습니다

private Object[] mixedObjs = new Object[12]; 
+2

Autoboxing은 악합니다. – bmargulies

+1

그는 int를 Object []에 넣기 위해 자동 보봇 (autoboxing)을 사용할 필요가 없습니다. –

0

문자열 및 11 개 정수를 포함하는 객체 구현하는 클래스 만들기 :

public class StringAndInt extends Object 
{ 
    private int[] user = new int[11]; 
    private String string = ""; 

    public StringAndInt(String s, int[] i){ 
     user = i; 
     string = s; 
    } 
    public StringAndInt setInt(int[] i){ 
     number = i; 
     return this; 
    } 
    public StringAndInt setString(String s){ 
     string = s; 
     return this; 
    } 
    public int getInt(){ 
     return user; 
    } 
    public String getString(){ 
     return string; 
    } 
} 
+0

위의 사용자 cletus에서 제안한 솔루션과 솔루션이 다른 점은 무엇입니까? (또한'Object'를 직접 확장 할 필요는 없습니다. 모든 Java 클래스는 정의에 따라 Object를 확장합니다.) –

관련 문제