黑马程序员技术交流社区

标题: 关于length() [打印本页]

作者: 刘学宾    时间: 2012-10-26 10:42
标题: 关于length()
“数组没有length()这个方法,有length的属性。 String有length()这个方法。”
这句话具体的意思指是什么? 这里的方法和属性的区别和怎么使用?

作者: 范贞亮    时间: 2012-10-26 10:55
在面向对象的编程中 , 当然是类中才有方法了 , 又不是面向过程 String 是一个类 , 但是属性应该也是类中的 , 这应该是 Java 中的特殊设计问题吧, 哈哈, 这样记也行哦
作者: 冯纪纲    时间: 2012-10-26 11:10
首先强调,数组只有length,而String才有length()方法.数组是线性链表,它是根据下标寻找位置的,length是它的属性,能得出它的长度。而String它本就不是原始类型,它也是一个封装类,length()只是它的一个方法,也能得出它的长度。

作者: 梁枝武    时间: 2012-10-26 11:28
数组没有length()方法,但有length属性,可以通过访问属性来获取数组元素个数;
String类没有length属性,但有length()方法,可以通过调用该方法获取字符串中字符个数;
作者: 程杰    时间: 2012-10-26 11:43
没什么区别吧,他们实现功能是一样的。只不过数组里是属性,显示元素的个数。而在String中有方法,他计算字符串的长度
作者: 陈琦    时间: 2012-10-26 11:46
数组的 length 是属性,String 的 length() 是方法。
作者: 任雷彬    时间: 2012-10-26 12:16
String类中可以使用length()方法获取字符串的长度。
方法定义是:
public int length()
        例如:
String s = new String("Hello java!");
int length = S.length();    //返回值是11

获取数组长度的属性是使用 数组名.length, length后面没有括号。

如:   int[] arr = new int[4];
          int  t = arr.length;//返回值是4,
两者存在的不同是:
String类 在对内存中创建对象存在,而数组不是在堆内存中创建对象形式存在,
所以对于String类要通过方法调用获取字符串的长度。   而数组则要通过获取本身属性获取长度。

作者: ssx0101    时间: 2012-10-26 12:49
属性是对象状态的抽象,比如对象人的属性有身高、体重、姓名等;
方法是对象的功能抽象,比如对象人的方法有吃饭、睡觉、拉粑粑{:soso_e141:}
作者: 齐连涛    时间: 2012-10-26 15:04
没有描述数组的类,数组不是某个类的实例对象,所以没有length()方法,只有通过length属性获取长度




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