这个是声明
简单理解:声明可以理解为就是占个位置,定义可以理解为初始化了
另一个角度理解:声明不需要建立存储空间,而定义需要建立存储空间的
1、声明简单的的说就是告诉编译器,在什么地方,有这个变量,这时候虚拟机并不会给这个变量或者对象分配内存空间;
2、定义就是指定了内存空间,告诉虚拟机这个变量占几个字节。
声明一般在不确定返回的数据到底有多少,比如查询数据库时,有可能返回3个元素、也有可能返回4个元素,声明的数组仅仅用来接受,方便方法内其它地方使用这个数组;
定义是明确返回的数据的长度,这样的好处,是预先分配了空间,一般定义的静态数据使用定义这种方式,比如:
private static final int[] arrs = {1,1,2};
简单来说,声明就是:(声明一个int[]数组)
int[] nums;
定义就是:(声明一个int[]数组,并使用new来创建数组)
int[] nums=new int[4];
二者区别,就是一个只声明了,一个声明后还创建了