内部类
来源:互联网 发布:nodejs java性能对比 编辑:程序博客网 时间:2024/05/16 10:24
1、定义:在一个类的内部定义类,这样的类即为内部类
分类:成员内部类、静态内部类、方法内部类
1.1 成员内部类
在成员内部类中可以访问外部类的所有成员
public class Oper { public static void main(String[]args){ Outer outer =new Outer(); //创建外部类对象 outer.test(); //调用test()方法 //如果想通过外部类去访问内部类,则需要通过外部类对象去创建内部类对象。语法格式为 //外部类名.内部类名 对象名 = new 外部类名().new 内部类名(); Outer.Inner inner=new Outer().new Inner(); inner.show(); } } class Outer{private int num=3;public void test(){Inner inner =new Inner();inner.show();} class Inner{void show(){System.out.println("num="+num);}}}运行结果为:num=3
num=3
1.2 静态内部类
使用static关键字修饰一个成员内部类,该内部类被称为静态内部类,可以在不创建外部类对象的情况下被实例化。
语法格式:外部类名.内部类名 对象名 = new 外部类名.内部类名();
public class Oper { public static void main(String[]args){ Outer.Inner inner=new Outer.Inner(); inner.show(); } } class Outer{private static int num=3;//定义一个静态内部类 static class Inner{void show(){System.out.println("num="+num);}}}注意:1、在静态内部类中只能访问外部类的静态成员,否则编译出错;
2、在静态内部类中可以定义静态的成员,而在非静态的内部类中不允许定义静态的成员。
1.3 方法内部类:在成员方法中定义的类,只能在当前方法中被使用
public class Oper { public static void main(String[]args){ Outer outer=new Outer(); //创建外部类对象 outer.test(); //调用test()方法} } class Outer{private static int num=3;public void test(){//创建方法内部类class Inner{void show(){System.out.println("num="+num);} }Inner inner=new Inner(); //创建内部类对象inner.show();//调用内部类的方法}}Inner是方法内部类,因此程序只能在方法中创建该类的实例对象并调用show()方法。
0 0
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 二级指针使用方法
- 黑马程序员——正则表达式
- 深入了解android平台的jni---使用宏定义精简JNI接口函数名称
- WPF+Visifire开发数据监控软件
- owi介绍
- 内部类
- oracle时间函数转换问题,用于求该日期年初,年末,月初,季初等日期
- 提取访问百度次数最多的ip
- C#取硬盘、CPU、主板、网卡的序号 ManagementObjectSearcher
- Ganglia监控Hadoop集群的安装部署
- linux route命令的使用详解
- 用PDB库调试Python程序
- Android开发学习笔记之窗口操作
- 【java0010】一张图看懂java集合