...
Code Block |
---|
language | java |
---|
title | Special ActionListener |
---|
linenumbers | true |
---|
| public class MySpecialActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
// Do something special
}
}
public class SomeClass implements ActionListener {
button1.addActionListener(this);
button2.addActionListener(this);
specialButton.addActionListener(new MySpecialActionListener);
public void actionPerformed(ActionEvent e) {
// Do something
}
}
|
Eksempel v1 | Code Block |
---|
language | java |
---|
title | Anonymous ActionListener |
---|
linenumbers | true |
---|
| public class SomeClass implements ActionListener {
button1.addActionListener(this);
button2.addActionListener(this);
ActionListener actList = new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Do something special
}
};
specialButton.addActionListener(actList);
public void actionPerformed(ActionEvent e) {
// Do something
}
} |
Eksempel v2 |
---|
...
Code Block |
---|
language | java |
---|
title | Runable |
---|
linenumbers | true |
---|
| public class SuperfastRunable implements Runable {
// Forced to implement
public void run() {
// Do something
}
}
public static void main(String[] args) {
// code..
SuperfastRunable sfr = new SuperfastRunable();
// code..
} |
| |
---|
Code Block |
---|
language | java |
---|
title | Anonymous Runable |
---|
| public static void main(String[] args) {
// code..
Runable r = new Runable() {
public void run() {
// Do something
}
};
// code..
} |
| |
---|
Som man igjen kan se, kan man spare seg for bryet med å lage en ny klasse om man bare trenger én instans av den på et/få sted(er) i koden. Pass dog på; mange anonyme klasser kan fort gjøre koden uoversiktlig.
Inline
...
overriding av metoder ved arv
På samme måte som med implementasjon av grensesnitt, kan man også arve klasser inline ved å lage en anonym klasse. Dette kan være særlig nyttig dersom man f.eks. ønsker å lage én instans av en klasse, som skal override en eller få metoder. Se eksempel under.
...
DENNE SIDEN ER UNDER UTVIKLING