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 声明变量
我在这里附上两个 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 声明变量