从另一个类访问静态变量

约翰·史密斯

我的问题很简单:我需要history从另一个类访问变量(在BinaryServer类中声明)。我使用更多的类来运行此代码。这只是由套接字组成的简单客户端和服务器。客户端发送到服务器二进制代码/文本和服务器将其转换为文本/二进制代码,然后将其发送回客户端。如果需要,我可以提供所有类。

BinaryServer类

import java.net.*;
import java.util.ArrayList;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import graphics.gui;

public class BinaryServer extends gui implements ActionListener,Runnable
{
private ServerSocket server;
private Socket client;
public String text;
private BufferedReader reader;
public static ArrayList<String> history;


public static String binary_letter;
public static String[] letter;
public static int i;
public static String[] binary;
public static String sendback;


public static void main(String[] args)throws IOException
{
   BinaryServer instance=new BinaryServer();

   gui.buildframe(310,360,"Binary translator server");
   gui.buildpane(300,300,true);
   gui.buildbutton(300,20,"Translate");
   instance.server(63400);
}

public void server(int port)throws IOException
{
    history=new ArrayList<String>(100);
    server=new ServerSocket(port);
    button.addActionListener(this);

    while(true)
    {
        client=server.accept();
        reader=new BufferedReader(new InputStreamReader(client.getInputStream()));
        text=reader.readLine();
        history.add(text);
        message.setText(message.getText()+"\n"+text+": ");
    }
}

@Override
public void actionPerformed(ActionEvent e)
{
    Thread response=new Thread(new BinaryServer());

    if(text.contains("0"))
    {
        int length=text.length();
        letter=new String[length+1];
        sendback="";
        int begin=-8;
        int end=0;

        for(i=1;i<=length/8;i++)
        {
            begin=begin+8;
            end=i*8;
            binary_letter=text.substring(begin,end);
            Libary.translate();
            message.setText(message.getText()+letter[i]);
            sendback=sendback+letter[0+i];
        }
    }
    else
    {
        int length=text.length();
        letter=new String[length+1];
        binary=new String[length+1];
        sendback="";

        for(i=1;i<=length;i++)
        {
            letter[i]=text.substring(i-1,i);
            Libary.encode();
            message.setText(message.getText()+binary[i]);
            sendback=sendback+binary[0+i];
        }
    }
    response.start();
}

public void run()
{
    try
    {
    Socket feedback=new Socket("localhost",63403);

    PrintWriter writer=new PrintWriter(feedback.getOutputStream(),true);
    writer.println(sendback);
    feedback.close();
    return;
    }
    catch(IOException exc)
    {
        System.out.println("");
    }
}
}

BinaryHistory类(我要从中访问变量的类)

public class BinaryHistory
{
    public static void main(String[] args) 
    {
        show();
    }
    public static void show()
    {
        System.out.println(BinaryServer.history);
}

当我history从BinaryHistory类访问变量时,它总是为null。

如果您仅声明变量,则不管其类型如何还是它是否为静态的,它将获得默认值null

您还必须初始化变量:

public static ArrayList<String> history = new ArrayList<>();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在JAVA中访问另一个类变量

来自分类Dev

如何在另一个类中设置静态变量?

来自分类Dev

从另一个类访问静态变量

来自分类Dev

如何从另一个类的静态方法更改静态变量的值

来自分类Dev

使用指针从另一个编译单元访问和更改静态变量

来自分类Dev

从一个文件到另一个文件的静态变量访问

来自分类Dev

如何从另一个类访问对象变量?

来自分类Dev

无法从另一个类访问变量

来自分类Dev

从Java中的另一个类访问变量

来自分类Dev

从React-Native应用程序中的另一个类访问静态变量?

来自分类Dev

从另一个类访问类变量

来自分类Dev

在IntelliJ或Android Studio中进行重构时,如何将静态变量从一个类移动到另一个类?

来自分类Dev

在main()中,如何从另一个函数中的静态变量获取值?

来自分类Dev

从静态方法访问另一个类的实例变量

来自分类Dev

如何从另一个类的静态方法更改静态变量的值

来自分类Dev

如何使用或调用在另一个类中声明的静态变量

来自分类Dev

实例的Java静态变量是否在另一个实例中被覆盖?

来自分类Dev

使用指针从另一个编译单元访问和更改静态变量

来自分类Dev

如何在另一个类的静态成员函数中访问私有静态变量?

来自分类Dev

访问另一个类的类方法/变量

来自分类Dev

PHP静态变量是另一个函数的结果

来自分类Dev

用另一个初始化的静态变量

来自分类Dev

从React-Native应用程序中的另一个类访问静态变量?

来自分类Dev

从另一个类访问类变量

来自分类Dev

为什么我不能从另一个PHP页面访问我的静态变量

来自分类Dev

另一个非静态变量不能被引用

来自分类Dev

从另一个类更新静态变量

来自分类Dev

java - 是否可以加入并设置为另一个类的静态变量

来自分类Dev

从另一个类访问类变量

Related 相关文章

  1. 1

    在JAVA中访问另一个类变量

  2. 2

    如何在另一个类中设置静态变量?

  3. 3

    从另一个类访问静态变量

  4. 4

    如何从另一个类的静态方法更改静态变量的值

  5. 5

    使用指针从另一个编译单元访问和更改静态变量

  6. 6

    从一个文件到另一个文件的静态变量访问

  7. 7

    如何从另一个类访问对象变量?

  8. 8

    无法从另一个类访问变量

  9. 9

    从Java中的另一个类访问变量

  10. 10

    从React-Native应用程序中的另一个类访问静态变量?

  11. 11

    从另一个类访问类变量

  12. 12

    在IntelliJ或Android Studio中进行重构时,如何将静态变量从一个类移动到另一个类?

  13. 13

    在main()中,如何从另一个函数中的静态变量获取值?

  14. 14

    从静态方法访问另一个类的实例变量

  15. 15

    如何从另一个类的静态方法更改静态变量的值

  16. 16

    如何使用或调用在另一个类中声明的静态变量

  17. 17

    实例的Java静态变量是否在另一个实例中被覆盖?

  18. 18

    使用指针从另一个编译单元访问和更改静态变量

  19. 19

    如何在另一个类的静态成员函数中访问私有静态变量?

  20. 20

    访问另一个类的类方法/变量

  21. 21

    PHP静态变量是另一个函数的结果

  22. 22

    用另一个初始化的静态变量

  23. 23

    从React-Native应用程序中的另一个类访问静态变量?

  24. 24

    从另一个类访问类变量

  25. 25

    为什么我不能从另一个PHP页面访问我的静态变量

  26. 26

    另一个非静态变量不能被引用

  27. 27

    从另一个类更新静态变量

  28. 28

    java - 是否可以加入并设置为另一个类的静态变量

  29. 29

    从另一个类访问类变量

热门标签

归档