鄙人只是个菜鸟,理解如下,如有错误欢迎指出:
数组和字符串都是属于引用数据类型,可以看做是特殊的对象,但二者又不太相同;
为什么length在数组中是调用属性,而在字符串中是调用方法?
首先来看数组。我们在定义数组的时候,首先会定义数组中元素的个数(即数组的长度),这是硬性规定,约束于数组的定义。既然数组中元素的个数是确定的,那么它就可以看做是数组自身的静态性质,因此获取数组的长度实际上就是数组的自身属性。
最后来看字符串,字符串在设置时时没有特殊约束的,字符串中的内容是可以改变的,它是未知的,既然未知就属于“属性”这个范畴,因此去获取字符串的长度是一个方法,是需要我们去获取它。