Java generic interface in a generic class

wolei

Mitglied
I will make an Interface in a class. This interface should allow me to call medoden in another classe.

Classe with Interface.
Code:
public class GenericClass<T> {
    public interface GenericInterface<T> {
        T onRun();
    }
private GenericInterface<T> l ;

    public threadFunc (...) {
        T myVar = l.onRun();
    }

}

Other class: (Where function is implemented)
Code:
public class OtherClass implements GenericClass.GenericInterface<String>{
    @Override
    public MyClass onRun() {
        return "Hallo";
    }
}
I have used this procedure in my code but I always get an ERROR at "onRun();". (ERROR: ... on a null object reference). Can someone help me in this regard I am already desperate.

This is only an example code.

What do I have to do or what am I doing wrong.

BR René
 
Zuletzt bearbeitet:
Zeige uns doch erst einmal, was Du da überhaupt genau machen willst. Denn in dem bisherigen Code wird die threadFunc ja nicht aufgerufen und so.

Aber der Ansatz ist immer gleich:

  • Du hast eine Instanzvariable (private GenericInterface<T> l ;)
  • Diese musst Du initialisieren, z.B. über einen Konstruktor oder einen Setter.
 
Das beste forum ever.

  • Du hast eine Instanzvariable (private GenericInterface<T> l ; )
  • Diese musst Du initialisieren, z.B. über einen Konstruktor oder einen Setter.
Ich habe das mit dem Initialisieren in diesem fall nicht verstanden. (generic)
 
Das Generic verändert ja nichts am Aufbau. Das ist dann einfach Bestandteil vom Typ:

Java:
public class GenericClass<T> {

    public interface GenericInterface<T> {
        T onRun();
    }

    private GenericInterface<T> l ;

    public GenericClass(GenericInterface<T> l) {
        this.l = l;
    }

    public void setL(GenericInterface<T> l) {
        this.l = l;
    }

}
 

Zurück
Oben