private class Inport extends Thread { private ObjectInputStream in; private ObjectOutputStream out; public void run() { try { in = new ObjectInputStream(socket.getInputStream()); } catch(IOException e) { System.out.println("Could not get input stream from "+toString()); return; } try { out = new ObjectOutputStream(socket.getOutputStream()); } catch(IOException e) { System.out.println("Could not get output stream from "+toString()); return; } while(true) { try { Thread.sleep(USER_THROTTLE); } catch(InterruptedException e) { System.out.println(e.toString()+" has input interrupted."); } } } } public User(Socket newSocket) { // Set properties socket = newSocket; connected = true; // Get input / output inport = new Inport(); inport.start(); } public Object getObject() { try { return inport.in.readObject(); } catch (IOException ioe) { return null; } catch(ClassNotFoundException cnfe) { return null; } } //метод getObject повертає NullPointerException //мене цікавить чи взагалі можна так брати змінну з треда, чи треба якось інакше, збирати дані в вектор а потім синхронізувати і читати?