Accesing static variable from another class in java

class, java, public, static

Solution

You can access a `public static` member of another class directly, using the notation `ClassName.memberName`:

public class Foo {
    public static String bar = "hi there";
}

public class Thing {
    public static void main(String[] args) {
        System.out.println(Foo.bar); // "hi there"
   }
}

`public static` data members are usually not a great idea (unless they've `final`), but if you need one, that's how you do it.

Problem

I had a queue implemented as linked list in my multithreaded server. I want to access this queue from another class. Both classes are in the same package. I tried making this queue as public static and accessing it through getter, but without success Can somebody tell me what is the exact problem. This is my code: Queue Declaration: ``` public static Queue<Request> q=new ConcurrentLinkedQueue<Request>(); public static void setQ(Queue<Request> q) { Connection.q = q; } public static Queue<Request> getQ() { return q; } ``` Accesing Queue: ``` Queue<Request> queue=new ConcurrentLinkedQueue<Request>(); queue=Connection.getQ(); ``` Adding Value to Queue in thread of connection ``` q.add(r); ```

Original source