Rumah > Java > javaTutorial > Java中的内部类的使用

Java中的内部类的使用

黄舟
Lepaskan: 2017-01-18 15:45:12
asal
1841 orang telah melayarinya

一、内部类的作用

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>
Salin selepas log masuk

运行结果:

358.png

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

运行结果:

359.png

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

运行结果:

360.png

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


以上就是Java中的内部类的使用的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan