Java에서 "비정적 필드/메서드에 대한 정적 참조를 만들 수 없음" 이해
Java에서 "비정적 필드/메소드에 대한 정적 참조를 만들 수 없음" 오류 발생 비정적 필드에 대한 정적 참조" 또는 "비정적 메서드에 대한 정적 참조를 만들 수 없습니다"는 코드의 정적 요소와 비정적 요소 간의 상호 작용으로 인해 특정 작업이 제한된다는 의미입니다.
오류 원인
이 오류는 정적 메서드 내부와 같은 정적 컨텍스트 내에서 인스턴스(비정적) 필드 또는 메서드에 액세스하려고 할 때 발생합니다. 인스턴스 변수는 클래스의 특정 개체와 연결되는 반면 정적 변수와 메서드는 클래스 자체에 속하며 개체 인스턴스가 필요하지 않습니다.
해결책: 인스턴스 생성
오류를 해결하려면 인스턴스 변수에 액세스하거나 인스턴스 메서드를 호출하기 전에 클래스의 인스턴스를 만들어야 합니다. 이는 인스턴스 변수와 메소드가 정적 컨텍스트에서 직접 액세스할 수 없기 때문입니다.
예를 들어 제공된 코드 조각에서 정적 메소드 main은 인스턴스 변수 r, cfr 및 Area에도 액세스하려고 시도합니다. 인스턴스 메소드 c_cfr 및 c_area로. 이 문제를 해결하려면 기본 메서드 내에서 Cerchio 클래스의 인스턴스를 만든 다음 개체 참조를 통해 인스턴스 변수 및 메서드에 액세스합니다.
<code class="java">public static void main(String[] args) { Cerchio cerchio = new Cerchio(); cerchio.r = 5; cerchio.c_cfr(); cerchio.c_area(); System.out.println("The cir is: " + cerchio.cfr); System.out.println("The area is: " + cerchio.area); }</code>
추가 참고 사항
위 내용은 Java에서 \"비정적 필드/메서드에 대한 정적 참조를 만들 수 없습니다\"라는 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!