Angenommen, ich habe Methoden, die einen Rückgabetyp von Objekt und Schnittstellentyp abc
haben.Schnittstelle als Referenzvariable
class xyz
{
Object meth()
{
...
}
abc meth2()
{
...
}
public static void main (String args[])
{
xyz x = new xyz() ;
Object a = x.meth() ;
abc c = x.meth2() ;
}
}
Ich möchte nicht die Schnittstelle abc implementieren. Die Referenzvariable c ist vom Typ abc, aber was ist der Objekttyp für c? Wir können keine Objekte einer Schnittstelle erstellen, also was könnte es sein?
Zum Beispiel: sup s = new sub(); // where sub ist Unterklasse von sup. Hier sup ist der Rückgabetyp und sub ist der Objekttyp.
haben Wie planen Sie, die Methode 'meth2' zu implementieren, ohne ein Objekt von' abc' zu erstellen, wenn Sie 'null' zurückgeben? Im letzteren Fall ist der Wert von "c" gleich "null". – anacron
Bitte halten Sie sich an Java Namenskonventionen (wie 'Abc' für einen Typ) und identifizieren Sie Ihren Code – c0der
Wenn Sie ein Objekt vom Typ' abc' wollen, müssen Sie _eine Klasse definieren, die es implementiert (obwohl es eine anonyme Klasse sein könnte). Ich bin mir nicht sicher, wie Sie gedacht haben, dass Sie etwas Nützliches tun könnten, ohne die Schnittstelle zu implementieren. – ajb