Ich möchte euch drei Arten von Klassen vorstellen und wie sie eure Arbeiten erleichtern. Zu private, public etc. werde ich jedoch nichts sagen.
1. Die normale Klasse
Diese Klasse ist eine normale Klasse, wie sie jeder kennt.
Hier muss man eine Instanz von MousePressedDemo erstellen die über den Konstruktor übergeben wird, um dessen Methode nutzen zu können.
2. Innere Klassen
Die Klasse MyMouseAdapter wird einfach innerhalb InnerClassDemo erzeugt. Die innere Klasse erbt somit alle Variablen und Methoden und es muss keine Instanz angelegt werden.
3. Die anonyme innere Klasse
Der anonymen inneren Klasse wurde wie ihr seht keinen Namen zugewiesen. Die Klasse wurde direkt in die Methode addMouseListener() implementiert. Diese Art von Klasse spart am Meisten Code.
Liebe Grüße
Reality
1. Die normale Klasse
Diese Klasse ist eine normale Klasse, wie sie jeder kennt.
Java:
import java.awt.event.*;
import java.applet.*;
public class MousePressedDemo extends Applet {
public void init(){
addMouseListener(new MyMouseAdapter(this));
}
}
class MyMouseAdapter extends MouseAdapter{
MousePressedDemo mousePressedDemo;
public MyMouseAdapter(MousePressedDemo mousePressedDemo){
this.mousePressedDemo = mousePressedDemo;
}
public void mousePressed(MouseEvent e){
mousePressedDemo.showStatus("Maustaste gedrückt");
}
}
Hier muss man eine Instanz von MousePressedDemo erstellen die über den Konstruktor übergeben wird, um dessen Methode nutzen zu können.
2. Innere Klassen
Java:
import java.awt.event.*;
import java.applet.*;
public class InnerClassDemo extends Applet {
public void init(){
addMouseListener(new MyMouseAdapter());
}
class MyMouseAdapter extends MouseAdapter{ //innere Klasse
public void mouseReleased(MouseEvent e){
showStatus("Maus gedrückt");
}
}
}
Die Klasse MyMouseAdapter wird einfach innerhalb InnerClassDemo erzeugt. Die innere Klasse erbt somit alle Variablen und Methoden und es muss keine Instanz angelegt werden.
3. Die anonyme innere Klasse
Java:
import java.awt.event.*;
import java.applet.*;
public class AnonymousInnerClassDemo extends Applet {
public void init(){
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent me){
showStatus("Maustaste gedrückt");
}
});
}
}
Der anonymen inneren Klasse wurde wie ihr seht keinen Namen zugewiesen. Die Klasse wurde direkt in die Methode addMouseListener() implementiert. Diese Art von Klasse spart am Meisten Code.
Liebe Grüße
Reality
Zuletzt bearbeitet von einem Moderator: