비디오: Layout Editor (Ep 3, Android Studio) 2024
Android 앱에서 이름을 재사용 할 때 고려해야 할 몇 가지 사항이 있습니다. 서로 다른 두 개의
BagOfCheese
객체를 참조하기 위해
bag1
와
bag2
라는 두 개의 Java 변수를 선언 할 수 있습니다. 괜찮아. 하지만 때로는 하나의 변수 만 가지고 두 번째 객체에 다시 사용하는 경우도 있습니다.
package com. allmycode. a09_03;
android. 지원하다. v7. 앱. AppCompatActivity;
android. OS. 묶음;
android. 위젯. TextView;
import com. allmycode. a09_01. BagOfCheese;
public class MainActivity는 AppCompatActivity를 확장합니다 (
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
슈퍼. onCreate (savedInstanceState);
setContentView (레이아웃. 활동 _ 메인);
textView = (TextView) findViewById (텍스트 ID보기);
BagOfCheese bag = 새 BagOfCheese ();
가방. kind = "체다";
가방. 중량 = 2.43;
가방. daysAged = 30;
가방. isDomestic = true;
textView. setText ("");
textView. (가방. 종류 + ","+ 가방. 무게 + ","+ 999 가방. daysAged + ","+ 가방. isDomestic + " n");
bag = 새 BagOfCheese ();
가방. kind = "Blue";
가방. 중량 = 5.987;
가방. daysAged = 90;
가방. isDomestic = false;
textView. (가방. 종류 + ","+ 가방. 무게 + ","+ 999 가방. daysAged + ","+ 가방. isDomestic + " n");
}
}
이 코드에서 Java가 두 번째
bag = new BagOfCheese ()
문장에 도달하면 원래 체더 가방으로하고 싶은 모든 작업을 완료하게됩니다. 이 경우 bag 변수를 재사용 할 수 있습니다.
변수를 재사용 할 때 (위의
bag
변수 하나와 같이) 초기화 문을 사용하지 않고 대입 문을 사용하면됩니다. 즉, 코드에
BagOfCheese bag
을 두 번 쓰지 마십시오. 그러면 Android Studio 편집기에 오류 메시지가 표시됩니다.
아프기 쉽도록 실제로 같은 코드에
BagOfCheese bag
을 두 번 이상 쓸 수 있습니다.
BagOfCheese
클래스의 필드는
final
입니다. 즉, 클래스 코드를 사용하면
BagOfCheese
객체 안의 필드에 값을 재 할당 할 수 있습니다.이 정보를 염두에두고 여기에 표시된 것처럼 위의 코드를 한 줄 더 짧게 만들 수 있습니다.
package com. allmycode. a09_04;
android. 지원하다. v7. 앱. AppCompatActivity;
android. OS. 묶음;
android. 위젯. TextView;
import com. allmycode. a09_01. BagOfCheese;
public class MainActivity는 AppCompatActivity를 확장합니다 (
TextView textView;
@Override
protected void onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (레이아웃. 활동 _ 메인);
textView = (TextView) findViewById (텍스트 ID보기);
BagOfCheese bag = 새 BagOfCheese ();
가방. kind = "체다";
가방. 중량 = 2.43;
가방. daysAged = 30;
가방. isDomestic = true;
textView. setText ("");
textView. (가방. 종류 + ","+ 가방. 무게 + ","+ 999 가방. daysAged + ","+ 가방. isDomestic + " n");
// bag = new BagOfCheese ();
가방. kind = "Blue";
가방. 중량 = 5.987;
가방. daysAged = 90;
가방. isDomestic = false;
textView. (가방. 종류 + ","+ 가방. 무게 + ","+ 999 가방. daysAged + ","+ 가방. isDomestic + " n");
}
}
이 코드에서 두 번째 생성자 호출이 주석 처리 된 상태에서
bag
변수를 새 객체로 참조하지 마십시오. 대신 기존 객체의 필드에 새 값을 할당하여 절약 할 수 있습니다.
어떤 상황에서는 객체의 필드를 재사용하는 것이 새로운 객체를 만드는 것보다 효율적 (실행이 빠름) 될 수 있습니다. 그러나 선택이있을 때마다 실제 데이터를 반영하는 코드를 작성하는 것이 좋습니다. 실제 가방의 내용이 체다 치즈에서 블루 치즈로 바뀌지 않으면
체다 치즈
에서
블루 치즈로 바뀌지 않는 것이 좋습니다.
".