//
int iArrayUpperBound
String sArrayTest = {"1","2","3","4"}//
iArrayUpperBound = sArrayTest.length--------------------
sArrayTest.length,可以看出来sArrayTest应该是一个对象,因为他有域"length",
我查看API java.lang.String,没有lengh这个域,看继承层次,是从java.lang.object继承来的,但是java.lang.object也没有域"length",我就晕了,sArrayTest 究竟是哪路神仙啊,请大家讲解一下,谢谢!
int iArrayUpperBound
String sArrayTest = {"1","2","3","4"}//
iArrayUpperBound = sArrayTest.length--------------------
sArrayTest.length,可以看出来sArrayTest应该是一个对象,因为他有域"length",
我查看API java.lang.String,没有lengh这个域,看继承层次,是从java.lang.object继承来的,但是java.lang.object也没有域"length",我就晕了,sArrayTest 究竟是哪路神仙啊,请大家讲解一下,谢谢!
int iArrayUpperBound;
String sArrayTest[] = {"1","2","3","4"};//
iArrayUpperBound = sArrayTest.length;
System.out.println(iArrayUpperBound);
最后输出是4 ,这样的话 sArrayTest不是String 类型的 是数组类型的 sArrayTest当然是对象
{"1","2","3","4"};--------->不是String,是String[]
那数组也是对象。
我想这点上,C#和Java应该是一样的吧。
你的问题和我原来有个问题类似,可以去看看:http://community.csdn.net/Expert/TopicView3.asp?id=5584610这个 length 是在编译加上去的。
------------------------------------------------------------
那里面已经说的很详细了.
之所以说要把数组看成对象,把length看成域,完全是因为要符合java一切是对象的思想.
http://community.csdn.net/Expert/TopicView3.asp?id=5584610