Java中的内部类的使用
程序员文章站
2022-03-05 15:23:54
...
一、内部类的作用
1.内部类提供更好的封装,可以把内部类隐藏在外部类里面,不容许同一个包中其他类进行访问。
2.内部类的方法可以直接访问外部类的所有数据。
3.使用更加方便。
二、内部类的分类:
1.成员内部类(作为外部类的一个成员)
2.静态内部类
3.方法内部类(内部类在外部类的一个方法里面)
4.匿名内部类
三、内部类的使用
1.成员内部类的使用:
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(); //调用静态内部类的方法 } }
运行结果:
匿名内部类的放到后面,敬请期待!
以上就是Java中的内部类的使用的内容,更多相关内容请关注PHP中文网(www.php.cn)!
下一篇: XML加密和XML签名简介的具体介绍
推荐阅读
-
如何使用java写Student类的功能
-
在Laravel5.2中,如何直接使用Auth包里的方法进行直接注册用户呢?
-
PHP中可以自动分割查询字符的Parse_str函数使用示例,parse_str示例
-
F盘提示使用驱动器中的光盘之前需要将其格式化要怎样寻回资料
-
学以致用——Java源码——使用多态输出平面及立体几何图形的面积和体积(Project: Shape Hierarchy)
-
Node.js中的process.nextTick使用实例
-
使用Yii框架中遇到的三个相关问题_PHP教程
-
实例详解MySQL中触发器的使用方法
-
sqlserver 存储过程中的top+变量使用分析(downmoon)
-
Javascript 函数中的参数使用分析_javascript技巧