Ich weiß, über anonyme class.We es verwenden können, Klasse methods.This außer Kraft zu setzen ist ein Beispiel:hinzufügen neue Methode zur vorhandenen Klasse
public class User {
private final String name;
public User(final String name){
this.name=name;
}
public void sayHello(){
System.out.println("Hello : "+name);
}
public static void main(String[] args) {
User s = new User("CHORT"){
@Override
public void sayHello(){
System.out.println("HELLO FROM ANONYMOUS CLASS");
}
};
}
}
aber ich bemerkte, dass die folgende Konstruktion auch korrekt ist (nicht hervorgehoben durch meine Idee)
public class User {
private final String name;
public User(final String name){
this.name=name;
}
public void sayHello(){
System.out.println("Hello : "+name);
}
public static void main(String[] args) {
User s = new User("CHORT"){
public void sayHello2(){
System.out.println("HELLO FROM ANONYMOUS CLASS");
}
};
}
}
Aber wenn ich Methode sayHello2 nennen wollen, mich IDEA zeigen, dass es nicht exist.What der Zweck dieser Konstruktion ist?