Q: SimpleStringProperty returns null outside the class I'm working on my first java project: a javafx application to monitor temperature and humidity measured by a sensor and a micro controller.
The way I'm imagining it to work: 
1. Collect the measures and store them in a SimpleStringProperty 
2. In another class, somehow retrieve the measures with a getter 
3. In that class, split it into two SimpleIntegerPropertys(temperature and humidity) 
4. Assign them to displays in my controller with a getter 
I'm able to receive the measures and print them out in the console, but when I try to get the values outside the class it returns null.
Not quite sure I got all the concepts right but here we go:
I have one class for the server:
public class SuperServer {
    private ServerSocket server;


    public void start(){
        try{
            while (!server.isClosed()){
                System.out.println("...");
                Socket socket = server.accept();
                RocketSocket rs = new RocketSocket(socket);
                rs.start();
                System.out.println(rs.getReceived() + " <-SuperServer");
                Thread.sleep(1000);
            }
            server.close();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }

    public SuperServer(int port)
        throws IOException {
        server = new ServerSocket(port);
    }
}

Another class that creates new threads:
public class RocketSocket extends Thread {
    private Socket socket;
    private SimpleStringProperty received = new SimpleStringProperty();

    String getReceived() {
        return received.get();
    }

    SimpleStringProperty receivedProperty() {
        return received;
    }

    public void run() {
        try {
            DataInputStream in = new DataInputStream(socket.getInputStream());
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            while (!socket.isClosed()) {
                String latest = br.readLine();
                if(latest != null){
                    received.set(latest);
                    System.out.println(getReceived() + " <-RocketSocket");
                }
                Thread.sleep(3000);
            }
            socket.close();
            in.close();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
    RocketSocket(Socket socket) {
        this.socket = socket;
    }
}

and the output:
...
null <-SuperServer
47.50,21.20 <-RocketSocket

Inside RocketSocket, received is updated, but why does it return null when i try to get it in SuperServer?
