我有一个A类,它有一个初始化为0的静态变量,我在其他类中将此值更改为1。我在下面分享代码
public class Server {
public static int flag;
public static void main(String[] args)
{
flag = 0;
while(true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (flag == 1) {
System.out.println("Yo man");
}
}
}
}
public class Client {
public static void main(String[] args) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Server.flag = 1;
}
}
答案 0 :(得分:0)
您有两个主要方法的类,因此无法直接访问彼此的静态变量 如果您希望在客户端和服务器之间进行通信,它们有两个不同的主要方法,下面是一个可以提供帮助的指针 How to have 2 JVMs talk to one another
答案 1 :(得分:0)
只是为了完成您的特定请求,您可以将客户端和服务器作为线程运行:
public static void main(String[] args)
{
new Thread(new Server()).start();
new Thread(new Client()).start();
}
public static class Server implements Runnable
{
public static int flag;
@Override
public void run()
{
flag = 0;
while (true)
{
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
if (flag == 1)
{
System.out.println("Yo man");
}
}
}
}
public static class Client implements Runnable
{
@Override
public void run()
{
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
Server.flag = 1;
}
}
如果您想实现真正的客户端服务器架构,我建议您对如何在java中实现客户端服务器架构进行全面研究