java bean 在两个不同的 类 中以相同的方式工作

java bean not working in the same way in two different classes

我在这里附上两个 classes

的 java 代码

createnode.java class 代码段

NodeBean bean=new NodeBean();
double port1 = Math.random();
long portNo = Math.round(Math.random() * 10000);
System.out.println("portNo"+portNo);
int LineNumber = 0;
ServerSocket ss=new ServerSocket((int) portNo);

bean.setNodePortNo((int)portNo);
System.out.println("portNo in create node:" +bean.getNodePortNo());
bean.setNodeName(s);

Socket socket=new Socket("localhost",(int) portNo);

destinationNode.java 代码片段

NodeBean bean=new NodeBean();
int portno =bean.getNodePortNo();
System.out.println("portno"+portno);
try {
    ServerSocket   ss=new  ServerSocket(portno);
    Socket socket=ss.accept();

DestinationNode.java 代码片段 sysout 打印端口号为“0”我不知道我缺少什么但是 bean getter 方法在第二个代码片段中不起作用但它在第一个代码中起作用片段

Destination.java

NodeBean bean=new NodeBean();

您正在创建 new instance,它将使用字段的默认值进行初始化,因为其 nodePortNo 类型为 int,它将被初始化为 0。

在 NodeBean 中 class 像这样创建 int varibale nodePortNo

private static int nodePortNo;  

然后创建 setter getter 方法然后在您的应用程序中使用这些方法并且不要在第二个代码片段中再次为 portno 声明变量