Java 인스턴스는 정적 방법과 비정적 방법의 차이점을 설명합니다.

코드:
public class OuterMyTest { private static int a ; private int  b ; public OuterMyTest(){ a += 1; b += 1;//System.out.println( "a = "+ a + "; b = "+ b ); } public  void getFun(){ System.out.println(b); } public static void main(String[] args) {int c=1, System.out.println(c), OuterMyTest a1 = new OuterMyTest(), OuterMyTest a2 = new OuterMyTest(), System.out.println(a), getFun(),//오류 보고
OuterMyTest.getFun();//오보
                a1.getFun();//통과
컴파일 오류: Cannot make a static reference to the non-static method getFun() from the type OuterMy Test
 
개선getFun();
또는 public static void getFun () {System.out.println (b);
 
이유:
정적 방법은 정적 구성원에게만 접근할 수 있습니다. 정적 방법이 아닌 호출은 먼저 대상을 만들어야 하기 때문에 정적 방법을 호출할 때 대상이 초기화되지 않았을 수도 있습니다.
 
OuterMyTest     ,          ,getFun      ,          ,      

4OuterMyTest OuterMyTest a1 = new OuterMyTest(); a1.getFun();클래스의 대상 OuterMyTest a1 = new OuterMyTest();그리고 a1.getFun();

좋은 웹페이지 즐겨찾기