Java11

来源:互联网 发布:深圳种植牙 知乎 编辑:程序博客网 时间:2024/05/22 13:31

内部类

内部类在外部类中有特权:内部类可以毫无限制地访问外部类的所有成员。
编译之后,内部类也可产生单独的.class文件,文件名为:外部类名$内部类名.class

内部类是外部类的一个成员,内部类对象不能单独存在,它必许依赖一个外部类对象

使用内部类在编写事件处理驱动的程序时用起来很方便。
只有内部类才能够是私有的--安全机制,只有其外部类的方法才能够创建内部类对象。


匿名类

如果只需要为内部类建立一个对象,甚至不必为该类指定一个名字,这种类被称为匿名内部类。
      如果满足下面的一些条件,使用匿名内部类是比较合适的:
只用到类的一个实例
类在定义后马上用到 
类非常小(推荐在4行代码以下) 
给类命名并不会导致你的代码更容易被理解

由于匿名内部类没有名称,因此创建匿名内部类对象时,new运算符后是超类或接口的名称,其后的{}内部为匿名类的定义(匿名类对象的创建和匿名类的声明是在一起的)。

匿名类不能是抽象类,因为系统在创建匿名类的时候,会立即创建匿名类的对象。因此不允许将匿名类定义成抽象类。
匿名类不能有构造方法,因为匿名类没有类名,无法定义构造方法,但匿名类可以定义实例初始化块,通过实例初始化块来完成构造方法需要完成的事情。 
匿名类不能定义任何静态成员、方法和类; 
匿名类不能是public、protected、private、static; 
只能创建匿名类的一个实例。


一维数组

数组的维数可以理解为一个数组中数据组合的层次数,只有一个层次的数据组合而成的数组被称为一维数组。
数组元素的访问:数组名[元素下标]
一维数组的声明
格式:类型名 变量名[];   或   类型名[]  变量名;
声明了数组类型变量,运行时系统只为引用变量分配引用空间,并没有创建对象,也不会为数组元素分配空间,因此尚不能使用任何数组元素。
声明数组类型变量时不允许指定数组的长度.
数组对象的创建和使用
在Java语言中通常使用关键字new创建数组对象,其语法格式为:new  类型名[n]
例如,int [] arr;
           arr=new int[3];    

访问数组元素的格式:数组名[元素下标]
在访问数组元素时合法的下标范围是0~n-1,如果越界,程序编译时不会报错,但程序运行时会抛越界异常。

数组对象的length属性
数组对象拥有一个有系统自动提供的特殊属性length(以只读的方式给出数组的长度),该属性为int类型,可直接访问,在遍历数组元素时非常有用。
例如,for(int i;i<arr.length;i++)    …
注意:Java 语言中数组长度并不属于其数据类型的组成部分,一个声明为int[]类型的变量a 可以指向一个长度为3的int[] 类型数组对象,也可以指向一个长度为5的int[] 类型数组对象,

数组的静态初始化
     如果在创建数组对象时已能确定其各元素的值,则可采用一种简化的书写方法来创建和初始化数组对象。
例如,int a[]={12,9,36};

原创粉丝点击