视频: 3 JDBC 分析jdbc程序的编写步骤和原理 2024
在Android应用程序中重复使用名称时,有几件事情需要考虑。您可以声明两个Java变量(
bag1
和
bag2
)来引用两个不同的
BagOfCheese
对象。没关系。但是有时候,只有一个变量并且重用它用于第二个对象也是一样的,如下所示。
package com。 allmycode。 a09_03;
import android。支持。 V7。应用程序。 AppCompatActivity;
导入android。操作系统。束;
导入android。小部件。 TextView的;
import com。 allmycode。 a09_01。 BagOfCheese; public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState){
setContentView(R layout。activity_main);
textView =(TextView)findViewById(R。id。textView);
BagOfCheese包= new BagOfCheese();
袋。 kind =“切达干酪”;
袋。重量= 2.43;
袋。 daysAged = 30;
袋。 isDomestic = true;
TextView的。 “+”,“+”,“+”,“+”,“+”,“+”,“+”)。
bag = new BagOfCheese();
袋。 kind =“Blue”;
袋。重量= 5. 987;
袋。 daysAged = 90;
袋。 isDomestic = false;
TextView的。 “+”,“+”,“+”,“+”,“+”,“+”,“+”)。在这段代码中,当Java执行第二个
bag = new BagOfCheese()
语句时,旧对象(包含切达的包)已经消失。没有袋子(或任何其他变量)引用切达对象,你的代码不能用切达对象做任何事情。幸运的是,到达第二个
包=新的BagOfCheese()
语句时,您完成了对原始切达包的所有操作。在这种情况下,重用bag变量是可以接受的。
当你重复使用一个变量(比如上面的
bag
变量)时,你可以使用赋值语句而不是初始化。换句话说,您不要在代码中再次写入
BagOfCheese包
。如果这样做,您会在Android Studio编辑器中看到错误消息。
事实上,您可以在同一段代码中多次写入
BagOfCheese包
。
BagOfCheese
类的字段都不是
final
。换句话说,类的代码可以让你重新赋值给一个
BagOfCheese
对象的字段。考虑到这些信息,您可以再缩短一行代码,如下所示。
package com。 allmycode。 a09_04;
导入android。支持。 V7。应用程序。 AppCompatActivity;
导入android。操作系统。束;
导入android。小部件。 TextView的;
import com。 allmycode。 a09_01。 BagOfCheese; public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState){
super。的onCreate(savedInstanceState);
setContentView(R layout。activity_main);
textView =(TextView)findViewById(R。id。textView);
BagOfCheese包= new BagOfCheese();
袋。 kind =“切达干酪”;
袋。重量= 2.43;
袋。 daysAged = 30;
袋。 isDomestic = true;
TextView的。的setText( “”);
TextView的。 “+”,“+”,“+”,“+”,“+”,“+”,“+”)。
// bag = new BagOfCheese();
袋。 kind =“Blue”;
袋。重量= 5. 987;
袋。 daysAged = 90;
袋。 isDomestic = false;
TextView的。 “+”,“+”,“+”,“+”,“+”,“+”,“+”)。
}
}
在此代码中的第二个构造函数调用被注释掉后,您不会使
bag
变量引用一个新对象。相反,您可以通过为现有对象的字段分配新值来节约成本。在某些情况下,重复使用对象的字段比创建新对象更高效(执行更快)。但是,只要你有选择的余地,编写反映真实数据的代码是一个好主意。如果实际的包内容没有从切达奶酪变成蓝纹奶酪,最好不要将
BagOfCheese
对象的种类字段从“
切达奶酪
”更改为“
蓝
“。