Java static, this
1386 ワード
生活コードの講義整理
class Foo{
public static String classVar = "I class var";
public String instanceVar = "I instance var";
public static void classMethod() {
System.out.println(classVar); // 가능
// System.out.println(instanceVar); // 불가
}
public void classMethod2() {
System.out.println(classVar); // 가능
// System.out.println(instanceVar); // 가능
}
}
public class StaticApp {
public static void main(String[] args) {
System.out.println(Foo.classVar); // 가능
// System.out.println(Foo.instanceVar); // 불가
Foo.classMethod(); // 가능
// Foo.classMethod2(); // 불가
Foo f1 = new Foo();
Foo f2 = new Foo();
System.out.println(f1.classVar); // classVar
System.out.println(f1.instanceVar); // instanceVar
f1.classVar = "changed by f1";
System.out.println(Foo.classVar); // changed by f1
System.out.println(f2.classVar); // changed by f1
f1.instanceVar = "changed by f1";
System.out.println(f1.instanceVar); // changed by f1
System.out.println(f2.instanceVar); // instanceVar
}
}
クラスメソッドがインスタンス変数にアクセスできない理由
this : 클래스가 인스턴스화 되었을 때에 인스턴스를 가리키는 특수한 이름
Reference
この問題について(Java static, this), 我々は、より多くの情報をここで見つけました https://velog.io/@onejaejae/Java-staticテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol