我在MainActivity中使用了一个Object。我有一些可以修改或使用该对象的类。我的问题是,我是否可以将此对象作为参数传递给其他类的构造函数。例如:
public class MainActivity extends AppCompatActivity{
Player myPlayer;
MyClass myObject;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myObject = new MyClass(myPlayer);
}
}
在课堂内
public class MyClass {
Player linkedPlayer;
public MyClass(Player mainPlayer){
linkedPlayer = mainPlayer;
}
public void playPlayer(){
linkedPlayer.play();
}
}
真正的问题是我是否linkedPlayer = mainPlayer;
将Player实例克隆到新var或者可以链接。如果没有链接,如何链接它?
我的目标是只实例化一个Player对象并在应用程序中使用它。
答案 0 :(得分:1)
除非您专门编写自己的代码来克隆对象,否则将其分配给另一个变量仍然是同一个对象。 你实际上是将(我讨厌下一个词)POINTER复制到对象上。
所以,在你的情况下,你不会得到一个新副本。它将是同一个,第二个类中的任何更改都将在第一个类中显示。