Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中没有括号_Java_Parentheses - Fatal编程技术网

java中没有括号

java中没有括号,java,parentheses,Java,Parentheses,我正在学习Java,我已经了解到方法使用括号来传递参数。然而,我也注意到,有时我看到的代码在我看来像是一个方法,但它没有括号 MyObject.something() MyObject.somethingElse 其中有些东西没有括号。我假设这类似于arrayList使用size方法获取其大小: myList.size() 而数组有长度来获取其大小,但没有括号: myArray.length 我的假设正确吗?如果没有,区别是什么? 这可能是一个基本的问题,但由于我需要解释这个问题的字数太

我正在学习Java,我已经了解到方法使用括号来传递参数。然而,我也注意到,有时我看到的代码在我看来像是一个方法,但它没有括号

MyObject.something()

MyObject.somethingElse
其中有些东西没有括号。我假设这类似于arrayList使用size方法获取其大小:

myList.size()
而数组有长度来获取其大小,但没有括号:

myArray.length
我的假设正确吗?如果没有,区别是什么?
这可能是一个基本的问题,但由于我需要解释这个问题的字数太多,所以我很难找到它

somethingElse
是一个属性(数据成员),而不是一个方法。当您访问该成员时,不会运行类中的任何代码,这与运行类中代码的方法不同

下面是一个例子:

public class Foo {

    public int bar;

    public Foo() {
        this.bar = 42;
    }

    public int getBlarg() {
        // code here runs when you call this method
        return 67;
    }

}
如果创建
Foo
对象:

Foo f = new Foo();
…您可以访问属性
,无需参数:

System.out.println(f.bar);        // "42"
…您可以使用参数调用方法
getBlarg

System.out.println(f.getBlarg()); // "67"
调用
getBlarg
时,
getBlarg
方法中的代码将运行。这与访问数据成员
foo

myList.size()
调用列表类中定义的方法(公共定义)有根本不同

myArray.length
调用数组类中的属性而不是方法

public class MyClass{

    public int length;

    public int size(){
    ....
    }
}

MyClass mc =new MyClass();
mc.length;
mc.size();

这是名为someObject的实例化对象的触发方法

someObject.something();
这是访问名为someObject的对象的属性(最有可能是公共属性)


这是一个类字段,它不是
私有
字段(通常它可以是
受保护的
公共的
),因此您可以直接从类中获取它。通常字段是私有的,因此您不能在类定义之外这样对待它。

它可以打包或保护+1以使用正确的术语“字段”,而不是不正确的术语“属性”,就像其他一些答案一样。
someObject.name