[英]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.