Java中的内部类的使用

来源:互联网 发布:江苏省软件检测中心 编辑:程序博客网 时间:2024/06/05 02:24

一、内部类的作用

      1.内部类提供更好的封装,可以把内部类隐藏在外部类里面,不容许同一个包中其他类进行访问。

      2.内部类的方法可以直接访问外部类的所有数据。

      3.使用更加方便。


二、内部类的分类:

          1.成员内部类(作为外部类的一个成员)

      2.静态内部类

      3.方法内部类(内部类在外部类的一个方法里面)

      4.匿名内部类


三、内部类的使用


       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>

   运行结果:

     


      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();                          //调用外部类的方法}}

    运行结果:



      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();                   //调用静态内部类的方法}}

    运行结果:

    


         匿名内部类的放到后面,敬请期待!


1 0
原创粉丝点击