자바 정적 방법 static 호출 비 정적 방법 non - static

1475 단어 Java
비 정적 방법 은 정적 방법 을 직접 호출 할 수 있다.
정적 방법 (static) 은 비 정적 방법 (non - static) 을 직접 호출 할 수 없습니다. 호출 하려 면 다음 과 같은 두 가지 방법 이 있 습 니 다.
  • 비 정적 방법 을 정적 방법 으로 바 꾸 기
  • 사용 .방법 명 > 비 정적 방법 호출
  • public class Static_test {
    	
    	public static void main(String[] args) {
    		//Method1();//             
    		Method2();//             
    		Static_test s = new Static_test();//   Static_test
    		s.Method1();//          
    	}
    
    	public void Method1() {//      non-static
    		System.out.println("11111");
            Method2();//              
    	}
    	
    	public static void Method2() {//      static
    		System.out.println("22222");
    	}
    }

    ※ 정적 방법 은 클래스 에 속 하지만, 일반적인 방법 은 대상 에 속한다
    따라서 정적 방법 은 클래스 의 불 러 오기 에 따라 불 러 옵 니 다. 즉, 클래스 에 속 하 는 정적 방법 은 대상 이 존재 하지 않 을 때 접근 할 수 있 습 니 다. 일반적인 방법 은 new 대상 이 있어 야 이 대상 으로 접근 할 수 있 기 때문에 static 방법 내부 에서 non - static 방법 을 직접 호출 할 수 없습니다.
    static 방법 은 class 를 불 러 올 때 먼저 완성 되 기 때문에 구조 방법 보다 빠 릅 니 다. 이때 non - static 속성 과 방법 은 초기 화 되 지 않 았 습 니 다. 프로그램 은 최종 적 으로 메모리 에서 실 행 됩 니 다. 변 수 는 메모리 에 자 리 를 잡 을 때 만 접근 할 수 있 습 니 다. 클래스 의 정적 구성원 (변 태 와 방법) 은 클래스 자체 에 속 하고 클래스 를 불 러 올 때 메모리 가 분 배 됩 니 다.클래스 이름 을 통 해 직접 접근 할 수 있 습 니 다. 비정 상 구성원 (변수 와 방법) 은 클래스 의 대상 에 속 하기 때문에 클래스 의 대상 이 생 성 (인 스 턴 스 생 성) 할 때 만 메모 리 를 할당 하고 클래스 의 대상 을 통 해 접근 할 수 있 습 니 다.따라서 하나의 정적 구성원 에서 비 정적 구성원 을 방문 하 는 것 이 잘못 되 는 이 유 는 클래스 의 비 정적 구성원 이 존재 하지 않 을 때 정적 구성원 이 이미 존재 하기 때 문 임 을 알 수 있 습 니 다. 메모리 에 존재 하지 않 는 것 에 접근 하 는 것 은 당연히 오류 가 발생 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기