# Umschreiben zu einer inneren Klasse!



## sandy (30. Jul 2005)

Hi Leute, 

ich habe ein Programm mit dem ich einzelne Partikel bewegen lassen kann.


```
public MovingParticle(){
	
		super( "Demonstrating Moving Particle" );
		
		p = new Particle(300,200,10,5);
		
		p1 = new Particle(250, 150, 20, 10);
		
		setSize ( xLength, yLength);
		setVisible( true );
	}
	
	public void actionPerformed( ActionEvent actionEvent){
		 //p.move();
		 // this.repaint();
		 p.moveAndPaint(this);
		 p1.moveAndPaint(this);
```
Kann mir vielleicht einer von euch sagen, wie ich diesen Teil als innere Klasse schreiben kann??

Ich tüftle schon eine Weile rum aber leider ohne Erfolg.


----------



## Gast (30. Jul 2005)

Hallo,
weißt du was eine innere Klasse ist?
Dann sollte es doch ganz einfach sein. Moving Particle ist keine Methode mehr, sondern eine Klasse und der Methodenrumpf wird zum Konstruktor.

LG
Gabi


----------



## sandy (30. Jul 2005)

tut mir leid, aber ich versteh nicht ganz was du meinst. 

MovingParticle ist ein Konstruktor und keine Methode. Dann heißt die Klasse in der alles drin steht logischerweise schon MovingParticle.

Also kann das nicht ganz stimmen.


----------



## Gast (31. Jul 2005)

ok, etwas blöde ausgedrückt 

```
class Particle{ 
    
      super( "Demonstrating Moving Particle" ); 
       
      p = new Particle(300,200,10,5); 
       
      p1 = new Particle(250, 150, 20, 10); 
       
      setSize ( xLength, yLength); 
      setVisible( true ); 
   } 
    
   public void actionPerformed( ActionEvent actionEvent){ 
       //p.move(); 
       // this.repaint(); 
       p.moveAndPaint(this); 
       p1.moveAndPaint(this);
```

Die innere Klasse hat Zugriff auf die Attribute der umfassenden Klasse. Jedes Objekt einer nicht statischen inneren Klasse besitzt eine Referenz auf ein Objekt der umfassenden Klasse.

_L-ectron-X hat die Code-Tags gesetzt._


----------

