java 中length是方法还是属性

解决方案 »

  1.   

    这个问题好深奥啊。
    String.length() 方法
    Array.length 属性

    有括号的就是方法,没有就是属性了
      

  2.   

    这要分情况,在形如int[]这样的数组中length是属性,在形如List这样的集合中length是方法。
      

  3.   

    不要意思,写错了!囧……这要分情况,在形如int[]这样的数组中length是属性,在形如String类中length是方法。
    在形如List这样的集合中“长度”的方法是size().
      

  4.   

    结论:
    int[]这样的数组中length是属性
    String类中length是方法。分析思路:
    length在不同的类中它的定义不一样而已,比如:length在String中,它就定义为方法名,你非要问为什么?(那只能去问SUN公司的软件研发人员了)。
      

  5.   

    9楼  没有为什么,这只不过是sun公司给他这个方法起一个名字,就好比你爹妈给你起个名字一样
      

  6.   

    数组的 length,以及类的 class 这两个只读的静态属性非常特殊,在 JDK API 文档中是找不到的。这两个属性是由编译器给加上的,而且是只读的。
      

  7.   

    在JAVA里面,方法有另外一个名字就是函数,,所以2楼的童鞋很棒,,嘻嘻
      

  8.   

    具体情况具体分析
    数组的length属性
    String就是length()方法
      

  9.   

    String.length() 方法
    Array.length 属性
      

  10.   

    java中一般名称后带()为方法,不带或为类,或为属性
      

  11.   

    在数组中Array.length//for(int i=0;i<Array.length;i++)这些是属性。在JAVA中方法就是它的行为,形如:String length()。方法后面肯定要带()的,只不过有的带参数有的不带参数。。
      

  12.   

    java是面向对象的,对有些对象来说length是属性,而有些对象length确实方法。
      

  13.   


    哥!  List 是 size()  好吗?    String.length()(方法)  int[].length(属性)
      

  14.   

    两个概念啊 length和length()  是不同的别记混了
      

  15.   

    楼主记住一点就好,在Java里,方法就是方法,属性就是属性,它们的写法就只有一种:方法是要带括号的,属性是绝对不允许带括号的,无一例外。
    例如:
    1.方法:方法名()
    String s = "hello";
    int len = s.length();2.属性:属性名
    int[] a = new int[10];
    int len = a.length;
      

  16.   

    数组的都是属性
    字符串的事方法,对应的是属性count
      

  17.   

    定义为属性就是属性。定义为方法就是方法。。
    String类里用它定义作了方法名,就是方法
    在数组里定义成了属性,就是属性。。是方法还是属性要看是在哪个类里。想怎么定义都行。
      

  18.   

    static修饰的方法,是类属性。。说属性要带()的 谁来解释下、
      

  19.   

    引用错了,汗汗汗。数组有length属性,字符串的length()方法
      

  20.   

    为了得到string的length是需要一个计算过程的,所以不能将他简单的保存在一个属性中,每次获取的时候都通过length方法计算一下,才能拿到一个值。
      

  21.   

    String.length() 方法
    Array.length 属性
      

  22.   

    这个头痛,发条链接,String.length()括号说明是有自己的函数啦,Array.length 点不就是下级里面的一个常量值了嘛!!
      

  23.   

    可以这么理解,Array构造时其实已经制定长度,而且构造完成后是无法变长的.
    java都是定长数组,类似的构造:
    int[] arrInt = new int[3];
    或者
    int[] arrInt = new int[]{1,2,3};
    所以,对于Array来说,length从构造开始,就永远不会发生变化.但是List和String,类似于Buffer,可变长.所以每次获取长度,其实是需要重新计算的.
    当然内部实际操作可能用属性来描述,但不可能像Array一样直接暴露。
    原因简单,对于对象内部维护的属性,暴露就有可能被外部赋值,这是绝对不允许的。而通过方法则可以保证外部无法修改私有的属性值
    而Array的length其实申明的是final,因为他可以保证在构造之后就不会发生变化。