我学习编码已经两个月了。我正在 Android 平台上使用 Java 工作。我正在尝试更好地理解未命名的对象。
引用本示例的第 7 行,“this.button2.setOnClickListener(new OnClickListener(){...});”
a) OnClickListener 是一个对象吗? (我认为是的,因为使用了“new”关键字)
b) 可以(并且应该)命名它吗?
c) 它会如何命名?
d) 将来人们会如何提及它?是否可以?如果需要的话,可以在运行时修改吗?
e) 这行得通吗?:“this.button2.setOnClickListener(OnClickListener nameObject = new OnClickListener(){//methods go here});”
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
this.button2 = (Button) this.findViewById(R.id.button2);
this.button2.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
Intent i = new Intent(getApplicationContext(), Absolute.class);
startActivity(i);
}
});
}
最佳答案
a)是的,它是一个对象。
b) 是的,它可以被命名,但不一定需要(如果你将来不需要引用它,或者有其他引用方式)它)。
c)你可以这样做:
OnClickListener myOnClickListener = new OnClickListener() {
// Contents of the OnClickListener go here...
}
this.button2.setOnClickListener(myOnClickListener);
d) 如果您已命名它(如上所示),则可以通过名称来引用它。如果您通过调用对象上的任何修改器方法来引用它,则可以在运行时引用它。
e) 该语法无效。请参阅 (c) 了解进行此调用的正确方法。
关于Java 未命名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081490/