생성자의 의미는 무엇인가요? 주 함수는 실제로 일부 인스턴스 속성을 초기화하는 것입니다. 이제 생성자가 정적으로 설계되었으므로 정적 메서드는 필연적으로 인스턴스 속성에 액세스합니다. 두 가지 해결 방법이 있습니다. 1. 내부 클래스가 외부 클래스에 대한 암시적 참조를 갖는 것처럼 JVM은 정적 생성자의 객체에 암시적으로 참조를 추가한 다음 이 참조를 사용할 수 있습니다. 객체의 속성은 코드에서 볼 수 없습니다. 이는 Java 언어 사양과 충돌합니다. 정적 메서드는 인스턴스 필드에 액세스할 수 없으므로 권장되지 않습니다. 2. Python과 같은 솔루션을 사용하세요. 생성자의 첫 번째 매개변수는 기본적으로 self와 같은 객체에 대한 참조이며, 그런 다음 self를 통해 객체의 인스턴스 필드에 액세스하지만 이 코드는 Java와 일치합니다. 스타일. ? 고소해서 죽겠습니다
클래스 메소드(정적 메소드)인지 인스턴스 메소드인지 중요한 것은 이 메소드가 클래스의 특정 인스턴스의 존재를 요구하는지, 이 메소드가 특정 인스턴스에 대해 작동해야 하는지 여부입니다. 수업의. 직설적으로 말하면
this
의 존재가 필요한가 하는 것이다.구성 방법은 클래스의 인스턴스가 생성된 후 새로운 특정 인스턴스 객체를 초기화하는 것입니다. 물론 클래스 메서드가 아닌 인스턴스 메서드와 유사합니다.
생성자의 의미는 무엇인가요?
주 함수는 실제로 일부 인스턴스 속성을 초기화하는 것입니다. 이제 생성자가 정적으로 설계되었으므로 정적 메서드는 필연적으로 인스턴스 속성에 액세스합니다.
두 가지 해결 방법이 있습니다.
1. 내부 클래스가 외부 클래스에 대한 암시적 참조를 갖는 것처럼 JVM은 정적 생성자의 객체에 암시적으로 참조를 추가한 다음 이 참조를 사용할 수 있습니다. 객체의 속성은 코드에서 볼 수 없습니다. 이는 Java 언어 사양과 충돌합니다. 정적 메서드는 인스턴스 필드에 액세스할 수 없으므로 권장되지 않습니다.
2. Python과 같은 솔루션을 사용하세요. 생성자의 첫 번째 매개변수는 기본적으로 self와 같은 객체에 대한 참조이며, 그런 다음 self를 통해 객체의 인스턴스 필드에 액세스하지만 이 코드는 Java와 일치합니다. 스타일. ? 고소해서 죽겠습니다
그렇다면 인스턴스 메소드를 직접 사용하는 것은 어떨까요?