作者Nt1 (用功点吧!)
看板java
标题Re: [问题] 初学者的问题
时间Tue Jan 23 16:39:43 2007
※ 引述《baelrog (魔)》之铭言:
: ※ 引述《gauyew ([瑶]拚了~)》之铭言:
: : ^^^^^^^^^^^^^^^^^^^^^
: : 阵列宣告只是分配指标罢了,并未实体化,
: : 所以,在阵列宣告後,要用建构元产生实体
: : 有没有 new 拉? ....
: 和int test = new int;
: 这两种宣告法一个有new一个没有new
: 但是差别到底在哪里
: 而且就实际使用上来看
: 两种得到的结果好像差不多
: 因为在我原本的小画家里没有用new的int参数一样可以用
: 阵列宣告後不会产生实体
: 那int宣告之後就会@@?
: 整体的结构不是很清楚
int 是 primitive variable,不用去 new 他
int[] 是阵列,阵列是物件的一种,而物件的产生要用 new,属於 reference variable
int a = 5; // a就是5
java里面小写的都是 primitive variable,变数直接代表 值
其他都是 reference variable,变数代表物件的参考(就像遥控器),你可以透过
参考(遥控器)去控制物件,但遥控器并不是物件本身。
而 int a = new int[3] ;
// a 是一个阵列,所以要用 new 产生一个 reference。(陈列是物件)
// 而阵列中的元素装的是 int (primitive variable)
a[0]=1; //a阵列的第0个元素是primitive var,所以不用 new
......
特例:
String str = "abc" ;
他也不用 new 就可以用,但 String 却是个物件,why ?
因为设计java的人让我们偷懒可以少打点字,所以那一行在 compile 的时候会被自动
转换成
String str = new String("abc");
有错请指正^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.148.68