Salve.
Ho una classe astratta :
Questa è ereditata da:codice:public abstract class SimSender<E> extends Thread{ /** The instance of this object */ protected static SimSender<E> instance = null; public SimSender(Socket aSocket, SimQueueSender<E> aSimQueueSender){ if (aSocket != null) { this.skt = aSocket; this.txQueue = aSimQueueSender; this.dataOutStream = new DataOutputStream(skt.getOutputStream()); } } . public static SimSender<E> getInstance(){ return instance; } public abstract void sendMessage(E message) throws IOException; }
Cioè vorrei implementare il pattern singleton per la classe SimSenderByte. Ma perchè dà errore???codice:public class SimSenderByte<E> extends SimSender<E> { public SimSenderByte(Socket aSocket, SimQueueSender<E> aSimQueueSender){ super(aSocket,aSimQueueSender); } public static SimSender getInstance(Socket aSocket, SimQueueSender<E> aSimQueueSender)) { if (instance == null) { synchronized (SimSenderByte.class) { if (instance == null) { instance = new SimSenderByte(aSocket,aSimQueueSender); } } } return instance; } @Override public void sendMessage(Object message) throws IOException { // TODO Auto-generated method stub } }

Rispondi quotando