A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘学宾 中级黑马   /  2012-10-26 10:42  /  2210 人查看  /  8 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

“数组没有length()这个方法,有length的属性。 String有length()这个方法。”
这句话具体的意思指是什么? 这里的方法和属性的区别和怎么使用?

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

8 个回复

倒序浏览
在面向对象的编程中 , 当然是类中才有方法了 , 又不是面向过程 String 是一个类 , 但是属性应该也是类中的 , 这应该是 Java 中的特殊设计问题吧, 哈哈, 这样记也行哦

评分

参与人数 1黑马币 +9 收起 理由
韩军博 + 9 很给力!

查看全部评分

回复 使用道具 举报
首先强调,数组只有length,而String才有length()方法.数组是线性链表,它是根据下标寻找位置的,length是它的属性,能得出它的长度。而String它本就不是原始类型,它也是一个封装类,length()只是它的一个方法,也能得出它的长度。

评分

参与人数 1黑马币 +9 收起 理由
韩军博 + 9

查看全部评分

回复 使用道具 举报
数组没有length()方法,但有length属性,可以通过访问属性来获取数组元素个数;
String类没有length属性,但有length()方法,可以通过调用该方法获取字符串中字符个数;

评分

参与人数 1黑马币 +9 收起 理由
韩军博 + 9

查看全部评分

回复 使用道具 举报
没什么区别吧,他们实现功能是一样的。只不过数组里是属性,显示元素的个数。而在String中有方法,他计算字符串的长度
回复 使用道具 举报
数组的 length 是属性,String 的 length() 是方法。
回复 使用道具 举报
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:40
8#
属性是对象状态的抽象,比如对象人的属性有身高、体重、姓名等;
方法是对象的功能抽象,比如对象人的方法有吃饭、睡觉、拉粑粑{:soso_e141:}
回复 使用道具 举报
没有描述数组的类,数组不是某个类的实例对象,所以没有length()方法,只有通过length属性获取长度
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马