![](/img/trans.png)
[英]JavaFx sending data from one window/class to another. Not receiving data
[英]Trying to access data from one class in another.
我是 Java 新手,但对旧的过程语言和结构化编程很熟悉,我有一个关于如何在 Java 中完成某些事情的问题
我有三个类,假设它们被称为 CLASSA、CLASSB 和 TESTCLASSA。 CLASSA 有一个带有实例变量的类定义和一个用于某些数据的构造函数。 TESTCLASSA 创建 CLASSA 的实例,并通过为 CLASSA 创建对象的实例将数据传递给 CLASSA。 类似地,CLASSB 有另一个带有实例变量的类定义,以及一些数据的构造函数。 TESTCLASSA 创建 CLASSB 的实例,并通过为 CLASSB 创建对象的实例将数据传递给 CLASSB。 我正在尝试从 CLASSA 访问 CLASSB 的数据。 有人可以建议我如何去做这件事。 非常感谢您提供的任何帮助/建议。
韦恩·汉恩
要么将变量声明为 public:
public class classA {
public Integer data;
}
或创建一个公共 getter(首选),例如:
public class classA{
private Integer data;
public Integer getData() {
return data;
}
}
如果您想从 A 类访问 B 类的属性,那么您可以在要从中获取数据的方法中创建 B 的对象,例如
private String nameofA;
public String getNameofA() {
return nameofA;
}
public void setNameofA(String nameofA) {
this.nameofA = nameofA;
}
public String getClassBData(){
B b = new B();
return b.getNameofB();
}
否则,您将创建 B 类型的类级别实例或依赖项。
public class TestClassA{
public static void main(String[] args) {
B b = new B();
b.setNameofB("class B Name");
A a = new A("class A Name",b);
}
}
class A{
private String nameofA;
private B b = new B(); //either this
public String getNameofA() {
return nameofA;
}
public A(String nameofA, B b) {//or constructor
super();
this.nameofA = nameofA;
this.b = b;
}
public void setNameofA(String nameofA) {
this.nameofA = nameofA;
}
public String getClassBData(){
B b = new B(); // or creating local instance
//but here a new instance will be created
return b.getNameofB();
}
}
那么只有您才能访问 B 实例的数据。无论如何,如果您在 B 中的方法不是私有的或受保护的(假设 A 不扩展 B),您可以通过创建或传递 B 的实例来访问该方法到您要访问的“A”方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.