[英]How do I access a boolean from another class in the constructor of an object?
所以我有一個主類,在這個類中我有一個名為 test 的布爾值。 我希望能夠在一定時間后打開或關閉它,所以我有一個名為 BooleanFlipCounter 的類。 以下
public class BooleanFlipCounter implements Runnable {
int seconds;
boolean booleanToFlip;
boolean setOnOrOff;
// Seconds is seconds before flip.
// booleanToFlip is where you define where you use it which boolean to use.
// setOnOrOff is true or false, whether it flips it to on or off after a
// certain time.
public BooleanFlipCounter(int secondss, boolean booleanToFlips,
boolean setOnOrOffs) {
seconds = secondss;
booleanToFlip = booleanToFlips;
setOnOrOff = setOnOrOffs;
}
@Override
public void run() {
// TODO Auto-generated method stub
while (seconds <= 0) {
System.out.println("1: " + booleanToFlip + " : " + setOnOrOff);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
seconds--;
System.out.println("Minused");
}
if (setOnOrOff == true) {
Main.test = true;
System.out.println("2: " + booleanToFlip + " : " + setOnOrOff);
} else if (setOnOrOff == false) {
Main.test = false;
System.out.println("3: " + booleanToFlip + " : " + setOnOrOff);
}
}
}
當我創建一個新的 BooleanFlipCounter 時,我希望能夠訪問“測試”。 如何將它作為布爾對象訪問,而不是作為實際的布爾值? 如果這有任何意義。
boolean
變量不是對象,您不能“作為”對象訪問它。 如果要引用boolean
變量,則需要使用對包含它的對象的引用。
您可以定義一個接口:
public interface Testable {
boolean isTest();
void setTest(boolean test);
}
然后,您可以讓Main
類根據其內部test
標志實現Testable
,並使BooleanFlipCounter
引用它應該操作的Testable
對象。
(請注意,這需要您創建Main
類的實例,或者至少創建實現Testable
接口的實例。如果Main.test
標志當前是靜態變量,請考慮將其設為非靜態變量。您可以擁有靜態main
方法只是創建一個new Main()
並在其上調用一個方法來完成真正的工作。)
[r}>>sys.pixelchanger.letterenderer.render("hello world");
[r}>>sys.pixelchanger.letterenderer.rener("hello world");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.