次のクラスを想定します。
class A {
public static final String someString = "thisIsSomeString";
// then potentially lots of non static members and functions.
}
class B {
void foo1() {
String someStringFromA = A.someString;
}
// OR
void foo2() {
String someStringFromA = "thisIsSomeString";
}
}
ここでは、またはb.foo
のいずれかfoo1
である必要がありますfoo2
。の利点foo1
は簡単です。文字列名を定義する場所は 1 か所だけです。変更する必要がある場合は、ここで変更するだけです。しかし、 usingfoo1
は何らかの方法で A のコードを B に「インポート」するため、コンパイルされたクラス B は、foo1
代わりにfoo2
. これは本当ですか?foo1
usingは C の #define と同等であると想定しました。