[英]Passing variable to another class Java
我需要将在 Buffer 类中处理的布尔值传递给 Reader 类。 以下是课程:
public class Buffer {
public int read(int j) {
(if condition) {
setBool(true);
}
(else if condition) {
setBool(false);
}
else
setBool(true);
return 0;
}
public boolean setBool(boolean value) {
boolean val = value;
return val;
}
}
public class Reader implements Runnable{
Buffer buffer;
public Reader(Buffer buffer){
this.buffer = buffer;
}
public synchronized void run() {
int j=0;
int k=0;
while (k!=18)
buffer.read(j);
j++;
k++;
}
}
我尝试在类 Buffer 中创建另一个方法,该方法将由类 Reader 调用,如下所示,
public class Buffer {
private static boolean value;
public int read(int j) { ..... }
public boolean setBool(boolean value { ....}
public boolean getBool() {
boolean val = setBool(value);
return val;
}
}
public class Reader {
Buffer buffer;
public Reader(Buffer buffer){...}
public synchronized void run() {
int j=0;
int k=0;
while (k!=18)
buffer.read(j);
j++;
k++;
boolean value = getBool();
}
}
但是,当我显示方法 setBool 的值来检查它时,它同时显示 true 和 false。 我不确定我应该如何进行。
value
作为Buffer
的属性,您将拥有它的 setter 和 getter,read(j)
返回一个int
实际上它什么都不返回class Buffer {
private boolean value;
public int read(int j) {
if (condition2) {
this.value = false;
} else {
this.value = true;
}
return 0;
}
public boolean isValue() {
return value;
}
public void setValue(boolean value) {
this.value = value;
}
}
所以
class Reader implements Runnable {
Buffer buffer;
public Reader(Buffer buffer) {
this.buffer = buffer;
}
@Override
public synchronized void run() {
int j = 0;
int k = 0;
while (k != 18) {
buffer.read(j);
j++;
k++;
boolean v = buffer.isValue();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.