基本上,在我的应用程序中,我有一个名为 Resources 的类,这是我创建并保存所有对象的地方。
当我创建一个对象时,让我们称之为myObject,我需要能够从资源类中访问各种方法和/或变量,所以目前我正在做这样的事情:
public class Resources {
int height; //This will hold the height of the current device's screen (in pixels). For the purpose of this question, please assume this has been intialised at some point.
public void createObjects(){
MyObject myObject = new MyObject(this); //Pass reference to this (Resources) class into constructor
}
public void method1(){
//Do something here, this method could do some work or could be a proxy method to another class
}
}
所以我的'MyObject'类看起来像这样:
public class MyObject{
Resources resources;
int yPosition;
public MyObject(Resources resources){
this.resources = resources;
}
public intialise(){
//Some examples
resources.method1();
yPosition = (resources.height)/2;
}
}
正如我所说,我的Resources类只是 - 它包含我的所有对象和其他重要信息(例如屏幕大小等),所以我需要从我创建的对象中访问这个类(所以我可以将与该对象相关的所有代码保存在对象本身内而不是外部(直接在Resources类中,例如那将非常混乱)。
我一直这样做并没有引起任何问题,我意识到我只是传递了对我的'资源'对象的引用,我想知道的是,这是'可接受的'如何访问我需要的东西?