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