java - 操作您是其公共对象的不同类的公共变量
问题描述
我想从 Beta 类中的 Alpha 类访问一个公共变量,但编译器说该变量对于 Beta 类是未定义的。请注意,Beta 本身也是 Alpha 的公共对象。
public class Alpha
{
public Beta b = new Beta();
public Boolean theVariable = true;
public static void main(String[] args) throws IOException
{
Alpha alpha = new Alpha();
}
}
public class Beta
{
// Perform an action
theVariable = false; //This step is considered invalid
}
我已经尝试过制作一种方法来检索它和其他几件事,但我必须遗漏一些东西,因为我无法让它接受这一点。
解决方案
如果 Beta 的实例只能由 Alpha 的实例访问,您可能应该实现内部类关系。
首先声明你的“共享”变量,然后是你的内部类。之后,您可以创建 Beta 实例并对“共享”变量执行任何操作。
public class Alpha
{
public boolean theVariable = true;
public class Beta
{
// Perform an action
public void doSomething() {
theVariable = false; // Should now be ok
}
}
public Beta b;
// constructor
public Alpha() {
b = new Beta();
}
// do something with Beta
public void doSomethingWithBeta() {
b.doSomething();
}
}
推荐阅读
- c# - 使用 lambda 表达式在选择内选择
- matlab - 如何在matlab中结合步进频率和相位编码波形?
- idris - Idris:为长度为 Fin 而不是 Nat 的向量编写初始段函数
- php - php表单没有插入到sql数据库
- .htaccess - 为什么我收到 404 服务器错误 htaccess 重写规则?
- ruby-on-rails - Rails current_user ip 因未知原因返回 nil
- autohotkey - autohotkey:两个卷的比较 - 结果错误
- c# - 检测和修改包含数字的 ListBox 条目
- python - 使用 python 正则表达式在文本中查找特定模式
- javascript - 实现material_select不是函数错误