我有三节课。例如,我将它们称为AwesomeClass,CoolClass,PrettyClass。 AwesomeClass实例化CoolClass和PrettyClass的对象。现在,我希望CoolClass更改PrettyClass中的变量。
最好的方法是什么?我可以想到的一种方法是将PrettyClass的引用发送给CoolClass,然后CoolClass可以执行类似instanceOfPrettyClass.setSomeVariable("42");
的操作。或者我可以将AwesomeClass视为控制器,将其他两个类视为视图(这就是它们所用作的视图),并让CoolClass调用AwesomeClass中的某个方法,然后再调用PrettyClass中的另一个方法,但这感觉很混乱。
编辑一些示例代码
public class AwesomeClass
{
public AwesomeClass()
{
CoolClass coolClass = new CoolClass();
PrettyClass prettyClass = new PrettyClass();
}
}
public class CoolClass
{
public CoolClass()
{
Color colour = Color.RED;
}
}
public class PrettyClass
{
public PrettyClass()
{
//I want to set coolClass's colour to Color.BLACK here
}
}
最佳答案
我很惊讶没有人回答这个问题。我认为您的想法正确,尽管可能会倒退。
public class AwesomeClass
{
public AwesomeClass()
{
CoolClass coolClass = new CoolClass();
PrettyClass prettyClass = new PrettyClass( coolClass ); // change
}
}
public class CoolClass()
{
private Color colour; // change
public CoolClass
{
colour = Color.RED; // change
}
public void setColor( Color color ) { // add setter
colour = color;
}
}
public class PrettyClass
{
public PrettyClass( CoolClass cc ) // change
{
//I want to set coolClass's colour to Color.BLACK here
cc.setColor( Color.BLACK ); // change
}
}
我想就是这样。
关于java - 如何在多个类(class)之间交流?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25299620/