可变参数(jdk1.5新增)--------方法的参数列表
要求:类型相同,个数可变(0~n个参数)
使用'…'表示可变参数
位置:必须存在与参数列表的最后
注意:编译器会为可变参数隐式构建一个数组,所在方法中使用可变参数,使用操作数组的方式操作可变参数
二维数组:数组中的嵌套
声明:数据类型[][] 数组名;
初始化:
动态初始化 : 先创建数组,后赋值 数据类型[][] 数组名 = new 数据类型[外层的长度][内层的长度]; 内层二维的长度: 规定了外层一维数组中每一个格子中的小数组的长度
静态初始化 : 创建数组的同时赋值
操作:
根据索引 数组名[外层索引][内层的索引]
遍历方式:循环嵌套
内部类
分类: 成员内部类 静态内部类 私有内部类 局部内部类 匿名内部类
成员内部类
类定义在外部类的成员位置,就是成员内部类.
注意:
成员内部类中不能定义静态内容,除了静态的常量
只有静态内部类才能定义静态内容
成员内部类中可以使用外部类的成员,包括私有的
外部类中可以通过内部类的对象使用内部类的成员包括私有的
成员内部类的对象通过外部类对象构建
静态内部类
静态内部类中可以定义非静态成员,可以定义静态成员
静态内部类中可以使用外部类的成员,静态内容可以直接使用,成员内容需要通过外部类对象使用
外部类中可以通过静态内部类类名使用其静态成员,需要通过静态内部类的对象使用内部类的成员
其他类中使用静态内部类中的内容,需要根据外部类的类名找到静态内部类,根据静态内部类类名使用其静态内容,根据静态内部类对象使用其成员
私有内部类
被private关键字修饰的成员内部类
不能定义静态内容,除了静态的常量
私有内部类中可以直接使用外部类的成员,包括 私有的
在外部类中通过私有内部类的对象使用其成员,包括私有的
私有内部类只能在所在的外部类中使用
局部内部类
不能被public,private,等,static修饰,可以被final修饰
局部内部类中可以定义成员内容,除了静态的常量,其他静态内容不可以定义
局部内部类只能在所在的方法中使用,通过对象使用成员
如果在局部内部类中使用了所在的方法中的局部变量(方法参数),这个变量要求被final修饰,在jdk1.8及之后,默认被final修饰