Video: Học lập trình Android - Bài 19 Thay đổi tên của ứng dụng Android 2025
Có hai điều bạn muốn suy nghĩ khi sử dụng lại tên trong ứng dụng Android của mình. Bạn có thể khai báo hai biến Java -
bag1
và
bag2
- để tham khảo hai vật
BagOfCheese
khác nhau. Đó là tốt. Nhưng đôi khi, chỉ có một biến và sử dụng lại nó cho đối tượng thứ hai hoạt động tốt như thể hiện ở đây. Gói
. allmycode. a09_03;
nhập khẩu android. ủng hộ. v7. ứng dụng. AppCompatActivity;
nhập khẩu Android. os. Bó;
nhập khẩu Android. widget. TextView;
nhập khẩu com. allmycode. a09_01. BagOfCheese;
Lớp MainActivity public mở rộng AppCompatActivity {
TextView textView;
@Override
được bảo vệ void onCreate (Bundle savedInstanceState) {
siêu. onCreate (savedInstanceState);
setContentView (bố cục R. activity_main);
textView = (TextView) findViewById (R id id. TextView);
BagOfCheese bag = new BagOfCheese ();
bao. kind = "Cheddar";
bao. trọng lượng = 2. 43;
bao. ngàyAged = 30;
bao. isDomestic = true;
textView. setText ("");
textView. phụ thêm (túi + loại +, + túi, trọng lượng + "," +
bao. daysAged + "," + túi isDomestic + " n");
bag = new BagOfCheese ();
bao. kind = "Blue";
bao. trọng lượng = 5.987;
bao. daysAged = 90;
bao. isDomestic = sai;
textView. phụ thêm (túi + loại +, + túi, trọng lượng + "," +
bao. daysAged + "," + túi isDomestic + " n");
}
}
Trong đoạn mã này, khi Java thực hiện câu lệnh
bag = new BagOfCheese ()
thứ hai, đối tượng cũ (bao gồm cheddar) đã biến mất. Không có túi (hoặc bất kỳ biến nào khác) đề cập đến đối tượng cheddar đó, không có cách nào mã của bạn có thể làm bất cứ điều gì với đối tượng cheddar. May mắn thay, vào thời điểm bạn đạt được tuyên bố thứ hai
bag = new BagOfCheese ()
, bạn đã làm xong mọi thứ bạn muốn làm với túi cheddar nguyên bản. Trong trường hợp này, sử dụng lại túi biến là chấp nhận được.
Khi bạn sử dụng lại một biến (giống như biến một và chỉ
túi
ở trên), bạn làm như vậy bằng cách sử dụng một câu lệnh gán, chứ không phải là khởi tạo. Nói cách khác, bạn không viết
túi BagOfCheese
lần thứ hai trong mã của bạn. Nếu bạn làm vậy, bạn sẽ thấy thông báo lỗi trong trình chỉnh sửa trên Android Studio.
Để có được chính xác đau đớn, bạn có thể, trên thực tế, viết
túi BagOfCheese
nhiều hơn một lần trong cùng một đoạn mã.
Không có trường nào trong
BagOfCheese
của lớp là
cuối cùng
. Nói cách khác, mã của lớp cho phép gán các giá trị cho các trường bên trong một đối tượng
BagOfCheese
.Với thông tin này trong tâm trí, bạn có thể rút ngắn đoạn mã trên bằng một dòng khác, như được hiển thị ở đây. Gói
. allmycode. a09_04;
nhập khẩu Android. ủng hộ. v7. ứng dụng. AppCompatActivity;
nhập khẩu Android. os. Bó;
nhập khẩu Android. widget. TextView;
nhập khẩu com. allmycode. a09_01. BagOfCheese;
Lớp MainActivity public mở rộng AppCompatActivity {
TextView textView;
@Override
được bảo vệ void onCreate (Bundle savedInstanceState) {
siêu. onCreate (savedInstanceState);
setContentView (bố cục R. activity_main);
textView = (TextView) findViewById (R id id. TextView);
BagOfCheese bag = new BagOfCheese ();
bao. kind = "Cheddar";
bao. trọng lượng = 2. 43;
bao. ngàyAged = 30;
bao. isDomestic = true;
textView. setText ("");
textView. phụ thêm (túi + loại +, + túi, trọng lượng + "," +
bao. daysAged + "," + túi isDomestic + " n");
// bag = new BagOfCheese ();
bao. kind = "Blue";
bao. trọng lượng = 5.987;
bao. daysAged = 90;
bao. isDomestic = sai;
textView. phụ thêm (túi + loại +, + túi, trọng lượng + "," +
bao. daysAged + "," + túi isDomestic + " n");
}
}
Với lệnh gọi constructor thứ hai trong mã này đã nhận xét, bạn không biến biến
bag
tham khảo một đối tượng mới. Thay vào đó, bạn tiết kiệm bằng cách gán các giá trị mới cho các trường của đối tượng hiện có.
Trong một số trường hợp, việc tái sử dụng các trường của đối tượng có thể hiệu quả hơn (nhanh hơn để thực hiện) hơn là tạo một đối tượng mới. Nhưng bất cứ khi nào bạn có một sự lựa chọn, bạn nên viết mã phản chiếu dữ liệu thực. Nếu nội dung của một bao bì thực tế không thay đổi từ pho mát cheddar sang pho mát xanh, tốt hơn là không nên thay đổi loại
BagOfCheese
đối tượng của loại trường từ "
Cheddar
" thành "
Blue
".