수퍼 클래스에서 하위 클래스의 모든 인스턴스 추적

스콧

다음과 같은 제거 된 Java 코드가 있습니다.

// Class, in it's own file

import java.util.*;

public class Superclass {
    protected List<Subclass> instances = new ArrayList<>();

    public class Subclass extends Superclass {
        private int someField;

        public Subclass(int someValue) {
            this.someField = someValue;
            updateSuperclass();
        }

        private void updateSuperclass() {
            super.instances.add(this);
        }
    }
}

// Implementation, somewhere else, everything has been imported properly

Superclass big = new Superclass();
Subclass little1 = big.new Subclass(1);
Subclass little2 = big.new Subclass(2);
Subclass little3 = big.new Subclass(3);

Superclass모든 Subclasses로 뭔가를 수행 하는 방법을 구현하고 싶습니다 . a Subclass가 생성 되면에서 목록에 자신을 추가 해야Superclass 하지만 에서 목록 을 반복하려고 할 때마다 Superclass크기가 1이라고 표시됩니다 . 목록 의 첫 번째 요소 ( instances.get(0))는 모든 적절한 정보가 포함 된 문자열을 뱉어냅니다. , 그러나 객체 형태가 아니며 개별적으로는 아닙니다. add목록에 갈 때마다 String 형식의 첫 번째 (또는 0) 요소에 추가되는 것과 같습니다.

내가 유지할 수 있도록 어떻게이 문제를 해결할 수 ArrayListSubclass부터 나중에 루프 ES 및 실행 방법을? 나는 확실히 Java의 초보자이며 내 경우에 도움이되지 않습니다.

크라운 보석 82

필요한 모든 것이 카운트라면 부모 클래스의 생성자에서 업데이트되는 정적 값을 제안합니다.

private static int instanceCount = 0;
public Constructor() {
    instanceCount++;
}

목록의 모든 인스턴스가 절대적으로 필요하여 무언가를 할 수 있다면 디자인을 강력하게 재고하는 것이 좋습니다.

프로세스를 실행할 개체 목록을 유지 관리 할 수있는 유틸리티 클래스를 언제든지 만들 수 있습니다. 그런 식으로 "객체 지향적"입니다. 모든 작업을 포함하는 하나의 클래스를 만든 다음 데이터 값만 포함하는 더 간단한 Bean 클래스를 만들 수도 있습니다.

그러나 주장한다면 여전히 동일한 기술을 사용할 수 있습니다.

private static List<SuperClass> list = new LinkedList<SuperClass>;
public Constructor() {
    list.add(this)
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

하위 클래스의 인스턴스에서 수퍼 클래스의 속성에 액세스

분류에서Dev

OWL, 클래스의 모든 인스턴스에 속성 추가

분류에서Dev

자바 : 수퍼 클래스의 정적 메서드를 사용하여 하위 클래스의 인스턴스를 만드는 방법

분류에서Dev

C #에서 genric 유형이있는 정적 클래스의 모든 "인스턴스"를 수집하는 방법은 무엇입니까?

분류에서Dev

수퍼 클래스 메서드에서 하위 클래스의 정적 필드를 사용하는 방법

분류에서Dev

수퍼 클래스의 배열에 인스턴스화 된 서브 클래스 추가

분류에서Dev

목록 내의 모든 클래스 인스턴스에 메서드 적용

분류에서Dev

모든 클래스의 인스턴스 수가 아니라 모든 클래스의 수에 대한 수를 반환하는 방법

분류에서Dev

부모의 인스턴스를 래핑하는 자식 클래스에서 볼 수없는 보호 된 추상 메서드

분류에서Dev

추상 클래스 또는 트레이 트의 매크로를 모든 하위 클래스에 적용 할 수 있습니까?

분류에서Dev

하위 클래스에서 개체 인스턴스화 적용

분류에서Dev

생성자가 C ++에서 인스턴스화 할 적절한 하위 클래스를 선택하는 추상 클래스를 작성할 수 있습니까?

분류에서Dev

슈퍼 클래스의 현재 인스턴스가 슈퍼 클래스 내에서 하위 클래스인지 확인하는 올바른 방법

분류에서Dev

Python의 하위 클래스에서 수퍼 클래스 변수 변경

분류에서Dev

Python의 하위 클래스에서 수퍼 클래스 변수 변경

분류에서Dev

클래스 메서드가 모든 인스턴스에 대해 다른 정적 변수를 보유하도록합니다.

분류에서Dev

C #의 하위 폼에서 클래스 인스턴스의 함수 호출

분류에서Dev

PHP에서 하위 클래스 인스턴스의 정적 카운터

분류에서Dev

부모 클래스의 모든 가상 함수가 자식 클래스에서 재정의되도록 적용

분류에서Dev

Perl에서 HTML :: TreeBuilder를 사용하여 특정 범위 클래스의 모든 인스턴스를 추출합니다.

분류에서Dev

수퍼 클래스의 한 인스턴스를 상속하는 여러 하위 클래스

분류에서Dev

서브 클래스 인스턴스 배열에 수퍼 클래스 배열 확장 적용

분류에서Dev

Java에서 수퍼 클래스를 추상 클래스로 사용하는 목적

분류에서Dev

동적으로로드 된 하위 클래스는 모든 추상 메서드를 재정의하지 않아도 여전히 인스턴스화 할 수 있습니다.

분류에서Dev

슈퍼 클래스 비추 상 메서드를 재정의합니다. 수퍼 클래스 (?)의 개인 속성에 액세스하기

분류에서Dev

부모 클래스의 인스턴스에서 자식 클래스로 데이터를 복사하는 효율적인 방법

분류에서Dev

클래스에 종속 된 유형 및 함수를 사용하는 모든 클래스 인스턴스에서 동일한 값을 갖는 C ++ 변수

분류에서Dev

포인터 벡터에서 C ++의 슈퍼 클래스에 대한 하위 클래스 변수에 액세스

분류에서Dev

C # 한 함수에서 클래스의 인스턴스를 만든 다음 다른 함수에서 동일한 인스턴스를 사용하는 방법

Related 관련 기사

  1. 1

    하위 클래스의 인스턴스에서 수퍼 클래스의 속성에 액세스

  2. 2

    OWL, 클래스의 모든 인스턴스에 속성 추가

  3. 3

    자바 : 수퍼 클래스의 정적 메서드를 사용하여 하위 클래스의 인스턴스를 만드는 방법

  4. 4

    C #에서 genric 유형이있는 정적 클래스의 모든 "인스턴스"를 수집하는 방법은 무엇입니까?

  5. 5

    수퍼 클래스 메서드에서 하위 클래스의 정적 필드를 사용하는 방법

  6. 6

    수퍼 클래스의 배열에 인스턴스화 된 서브 클래스 추가

  7. 7

    목록 내의 모든 클래스 인스턴스에 메서드 적용

  8. 8

    모든 클래스의 인스턴스 수가 아니라 모든 클래스의 수에 대한 수를 반환하는 방법

  9. 9

    부모의 인스턴스를 래핑하는 자식 클래스에서 볼 수없는 보호 된 추상 메서드

  10. 10

    추상 클래스 또는 트레이 트의 매크로를 모든 하위 클래스에 적용 할 수 있습니까?

  11. 11

    하위 클래스에서 개체 인스턴스화 적용

  12. 12

    생성자가 C ++에서 인스턴스화 할 적절한 하위 클래스를 선택하는 추상 클래스를 작성할 수 있습니까?

  13. 13

    슈퍼 클래스의 현재 인스턴스가 슈퍼 클래스 내에서 하위 클래스인지 확인하는 올바른 방법

  14. 14

    Python의 하위 클래스에서 수퍼 클래스 변수 변경

  15. 15

    Python의 하위 클래스에서 수퍼 클래스 변수 변경

  16. 16

    클래스 메서드가 모든 인스턴스에 대해 다른 정적 변수를 보유하도록합니다.

  17. 17

    C #의 하위 폼에서 클래스 인스턴스의 함수 호출

  18. 18

    PHP에서 하위 클래스 인스턴스의 정적 카운터

  19. 19

    부모 클래스의 모든 가상 함수가 자식 클래스에서 재정의되도록 적용

  20. 20

    Perl에서 HTML :: TreeBuilder를 사용하여 특정 범위 클래스의 모든 인스턴스를 추출합니다.

  21. 21

    수퍼 클래스의 한 인스턴스를 상속하는 여러 하위 클래스

  22. 22

    서브 클래스 인스턴스 배열에 수퍼 클래스 배열 확장 적용

  23. 23

    Java에서 수퍼 클래스를 추상 클래스로 사용하는 목적

  24. 24

    동적으로로드 된 하위 클래스는 모든 추상 메서드를 재정의하지 않아도 여전히 인스턴스화 할 수 있습니다.

  25. 25

    슈퍼 클래스 비추 상 메서드를 재정의합니다. 수퍼 클래스 (?)의 개인 속성에 액세스하기

  26. 26

    부모 클래스의 인스턴스에서 자식 클래스로 데이터를 복사하는 효율적인 방법

  27. 27

    클래스에 종속 된 유형 및 함수를 사용하는 모든 클래스 인스턴스에서 동일한 값을 갖는 C ++ 변수

  28. 28

    포인터 벡터에서 C ++의 슈퍼 클래스에 대한 하위 클래스 변수에 액세스

  29. 29

    C # 한 함수에서 클래스의 인스턴스를 만든 다음 다른 함수에서 동일한 인스턴스를 사용하는 방법

뜨겁다태그

보관