黑马程序员技术交流社区

标题: java里的数组为什么有length();而String 没有length()? [打印本页]

作者: 可见    时间: 2012-3-8 02:02
标题: java里的数组为什么有length();而String 没有length()?
java里的数组为什么有length();而String 没有length()?
作者: 熊玖帅    时间: 2012-3-8 02:21
你写反了吧。String是有length()方法的。没有length属性;而数组,只有length属性,没有length()方法。
属性,就是字段【Field】,方法是【Method】。属性一般表示那个类,有什么;而方法,表示那个类可以做什么,
或者由内向外,提供什么动作。最直观的区别就是,方法是方法名后跟括号(),括号内可能有参数。

作者: 刘豪杰    时间: 2012-3-8 03:25
String 的长度被设计成只能通过方法读取。专门为了防止出现类似 str.length = 5; 之类的语句。因为这是不合理的语句,用户是不应该这样设定字符串的长度的,应该只能读取它。在Java中,数组下标从O开始。数组中的元素个数length是数组类中唯一的数据成员变量。使用new创建数组时系统自动给length赋值。数组一旦创建完毕,其大小就固定下来。程序运行时使用length进行数组边界检查。如果发生越界访问,则抛出一个异常。

作者: 王利强    时间: 2012-3-8 08:12
数组对象是没有任何方法的,只有一个唯一的属性length,数组只能array.length,返回的是该数组的长度;字符串对象是有length方法的,str.length()返回的是该字符串总的字符个数,楼主写错了,数组是没有length方法的,呵呵


作者: 花开~的季节    时间: 2012-3-8 08:40
string 中有length()方法,数组中有length属性,
作者: 泮和顺    时间: 2012-3-8 08:46
数组有leng这个变量成员或者叫属性。。。String.length()方法。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2