从java中的另一个类访问静态变量

Anu*_*nup 3 java static class public

我在多线程服务器中将队列实现为链表.我想从另一个类访问此队列.两个类都在同一个包中.我尝试将此队列作为公共静态并通过getter访问它,但没有成功可以有人告诉我究竟是什么问题.

这是我的代码:队列声明:

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;
    }
Run Code Online (Sandbox Code Playgroud)

访问队列:

Queue<Request> queue=new ConcurrentLinkedQueue<Request>(); 
queue=Connection.getQ();
Run Code Online (Sandbox Code Playgroud)

在连接线程中向队列添加值

q.add(r);
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 15

您可以public static使用符号直接访问另一个类的成员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"
   }
}
Run Code Online (Sandbox Code Playgroud)

public static数据成员通常不是一个好主意(除非他们final),但如果你需要一个,那就是你如何做到的.