2012-11-02 2 views
0

내 클래스 중 하나의 모든 인스턴스에 대해 메서드를 호출하고 싶습니다. 그러나이를 수행하는 방법에 대한 실마리는 없습니다.안드로이드 클래스의 모든 인스턴스에 대해 메서드를 호출하는 방법

public class demostration{ 
    public void m(){ 

    } 
} 
demonstration d = new demonstration(); 
demonstration p = new demonstration(); 

데모의 모든 인스턴스에서 해당 메서드를 실행하도록 메서드 m을 어떻게 호출 할 수 있습니까? 나는. 그래서 새 인스턴스를 만들 때마다

d.m(); 
p.m(); 
+0

당신이 잘못 쓰고있어, 그건 d.m()과 p.m() 괄호/대괄호를 잊지 마세요 방법 필드가 아니야! – Flawyte

답변

3

는, mutable array의 몇 가지 유형에 넣어 쓰는 것과 같은 효과가 있습니다. 각 인스턴스의 메서드 m을 호출하려면 인스턴스 배열을 통해 loop을 호출하고 각 인스턴스에서 m을 호출합니다.

2

다른 사람들이 말하는 것처럼 인스턴스를 ArrayList에 넣는 것이 가장 합리적입니다. 당신이 시도 할 수 :

demonstration a = new demonstration(); 
demonstration b = new demonstration(); 
demonstration c = new demonstration(); 

ArrayList<demonstration> demos = new ArrayList<demonstration>(); 
demos.add(a); 
demos.add(b); 
demos.add(c); 

for(Demonstration d : demos) { 

    d.m(); 

} 

또한, 내 관점에서 불과 nitpicky 일 : Demonstrations` 더 좋은 이름이 될 수 있도록이 대문자로 클래스 이름을 시작하는 좋은 자바 스타일의 구문입니다. 그냥 내 의견 : D

관련 문제