>  기사  >  Java  >  Java에서 내부 클래스 사용

Java에서 내부 클래스 사용

黄舟
黄舟원래의
2017-01-18 15:45:121775검색

1. 내부 클래스의 역할

1. 내부 클래스는 더 나은 캡슐화를 제공하며 동일한 패키지에 있는 다른 클래스가 내부 클래스에 액세스하는 것을 허용하지 않습니다.

2. 내부 클래스의 메서드는 외부 클래스의 모든 데이터에 직접 액세스할 수 있습니다.

3. 더욱 편리해졌습니다.

2. 내부 클래스 분류:

1. 멤버 내부 클래스(외부 클래스의 멤버)

2. 정적 내부 클래스

3. 메소드 내부 클래스(내부 클래스는 외부 클래스의 메소드 내부에 있음)

4. 익명 내부 클래스

3. 내부 클래스 사용

1. 내부 클래스 사용법:

<span style="font-family:Microsoft YaHei;font-size:18px;">package com.bluesky;  
  
public class Outer {  
      
    private int a =99;        //定义外部类的数据成员  
      
    public class Inner{      //该内部类作为外部类的一个成员  
          
        int b =88;            //内部类的数据成员  
          
        public void test(){  
            System.out.println("访问外部类的a:"+a); //访问外部类的数据成员  
            System.out.println("访问内部类的b:"+b); //访问内部列的数据成员  
        }  
    }  
  
    public static void main(String[] args) {  
          
        Outer o = new Outer();           //先生成一个外部类的对象实例  
           
        Inner in = o.new Inner();       //产生一个内部类的对象实例  
          
        in.test();                   //调用内部类的方法  
    }  
  
}</span>

실행 결과:

Java에서 내부 클래스 사용

2. 정적 내부 클래스 사용

package com.bluesky;  
  
public class MethodOuter {  
      
    public void test(){  
          
        final int a=12;  
        int b=100;  
          
        class Inner{              //该内部类定义在外部类的方法的内部  
              
            public void print(){  
                int v=56;  
                System.out.println("访问外部类中的常量a:"+a);  
                System.out.println("访问外部类中的b:"+b);  
                System.out.println("访问内部类中的c:"+v);  
            }  
        }  
          
        Inner in = new Inner();    //在方法体里面先产生内部类的对象实例  
        in.print();                //在外部类的方法里面调用内部类的方法  
          
    }  
  
    public static void main(String[] args) {  
          
        MethodOuter mo = new MethodOuter(); //产生外部类的对象实例  
          
        mo.test();                          //调用外部类的方法  
  
    }  
  
}

실행 결과:

Java에서 내부 클래스 사용

3. 정적 내부 클래스 사용:

package com.bluesky;  
  
public class StaticOuter {  
      
    private static int a=99;  
    static int b =78;  
      
    public static class Inner{     //定义静态内部类  
        static int a=2;  
        public void test(){  
            System.out.println("访问外部类的b:"+b);  
            System.out.println("访问外部类的a:"+StaticOuter.a);  
            System.out.println("访问内部类的a:"+a);  
        }  
    }  
  
    public static void main(String[] args) {  
          
        Inner in = new Inner();      //因为是静态的,所有可以直接产生对象实例  
        in.test();                   //调用静态内部类的方法  
  
    }  
  
}

실행 결과:

Java에서 내부 클래스 사용

익명 내부 클래스는 나중에 배치됩니다. . 계속 지켜봐 주시기 바랍니다!


위 내용은 Java에서 내부 클래스를 사용하는 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.