为什么有些静态方法需要"()"和其他不?

时间:2014-02-28 21:21:07

标签: java

例如:

import java.util.Scanner;

public class Foothill {

    static Scanner input;

    public static void main(String[] args) {

        input = new Scanner (System.in);
        String[] getNames = new String[5];

        for(int x = 0; x < 5; x++){

            System.out.println("Enter 5 names: ");
            getNames[x] = input.nextLine();
        }

       for(int i = 0; i < **getNames.length**; i++)
        {System.out.print(getNames[i] + ", ");
       }    
    }

    public static String newString(String getNames)
    {
        String newS;

        for(int j = 0; j < **getNames.length()**; j++){

        }
    }
}

主方法中是否有一个原因我的字符串数组getNames.length不需要“()”,但我得到一个错误下面的newString方法呢?

1 个答案:

答案 0 :(得分:8)

方法调用始终需要(),因此,如果没有(),则不是方法。

对于数组length is a member variable,不是方法,而是String, length() is an actual method。此外,static也不是。