Methoden anonymer Klassen in JavaJava

Java-Forum
Anonymous
 Methoden anonymer Klassen in Java

Post by Anonymous »

Gibt es eine Möglichkeit, den Typ einer anonymen Klasse zu erfassen? Ich kann mir einen bestimmten Fall nicht vorstellen, dass dies absolut nützlich wäre. Und ich bin mir bewusst, dass anonyme Klassen für die Verwendung von "On-the-Fly" verwendet werden. wundern sich jedoch. < /p>

Wenn ich es nicht aufrufen kann

Code: Select all

// http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html

public class SomeClass {

abstract class HelloWorld {  abstract public void greet();  }

public void sayHello() {
class EnglishGreeting extends HelloWorld {  //  local class
String name = "world";
public void greet() {  System.out.println("Heya " );    }
public void gg() { System.out.println("do this as well.. ");}  }
HelloWorld englishGreeting = new EnglishGreeting();

HelloWorld frenchGreeting = new HelloWorld() {  //  anonymous class
public void g2() { System.out.println("do this too.. ");}
public void greet() {  System.out.println("Salute ");  }
};

englishGreeting.greet();
((EnglishGreeting)englishGreeting).gg();
frenchGreeting.greet();
//        ((frenchGreeting.getClass())frenchGreeting).g2();  // gives a checked error
}

public static void main(String... args) {
SomeClass myApp = new SomeClass();
myApp.sayHello();
}
}
< /code>

Hinweis: Säge kann zusammen mit einigen anderen relevanten Diskussionen keine anonyme Klassenmethode und anonyme innere Klassen in den Methoden aufrufen. < /p>

tia. < /p>

// =============================================== < /p>

Bearbeiten: Sehen Sie den Referenztyp nicht nach, wenn die Methode direkt auf dem neuen Objekt aufgerufen wird. < /p>

        HelloWorld frenchGreeting = new HelloWorld() {
public HelloWorld g2() { System.out.println("do this too.. ");  return this; }
public void greet() {  System.out.println("Salute ");  }
}.g2();

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post