gpt4 book ai didi

java - 无法从静态上下文引用非静态变量 data_in

转载 作者:行者123 更新时间:2023-12-02 07:18:46 25 4
gpt4 key购买 nike

Possible Duplicate:
non-static variable cannot be referenced from a static context (java)

我在编译以下java代码时遇到了上述错误。我是这门语言的新手,我对代码不太确定。我可以清除正常错误,但我不明白它是什么。请帮助我

public class Kari_Server
{


ServerSocket server_socket=new ServerSocket(666);
Socket soc=server_socket.accept();
DataInputStream data_in=new DataInputStream(soc.getInputStream());
DataOutputStreamdata_out=newDataOutputStream(soc.getOutputStream());
int a=1;
int i;

public void screen()throws Exception
{

Robot robo=new Robot();
BufferedImage screen_shot=robo.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(screen_shot,"JPG",new File("C:\\windows\\temp\\screen_shot"+a+".jpg"));
FileInputStream file_in=new FileInputStream("C:\\windows\\temp\\screen_shot"+a+".jpg");
byte[] mybyte=new byte[1024];
try
{
while((i=file_in.read(mybyte))>-1)
data_out.writeUTF(mybyte,0,i);
}
catch(Exception e) {}
}

public static void main(String args[])throws Exception
{
Kari_Server kari=new Kari_Server();
while(true)
{
String s1=" ";
s1=data_in.readUTF();
if(s1=="attack")
kari.screen();
else
System.exit(0);
}
}
}

最佳答案

main 方法是静态方法。除了类中的静态变量之外,它不能访问任何内容。为了访问 data_in,您需要将其与现有的 kari 变量一起使用。所以,而不是

s1=data_in.readUTF();

使用

s1=kari.data_in.readUTF();

关于java - 无法从静态上下文引用非静态变量 data_in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com