非void方法调用语句有效,为什么?

时间:2018-03-22 04:26:33

标签: java object methods

我理解Java中方法的基本概念。你调用它,它的代码被执行,它返回一个值。

String对象的

length()方法(比如str)会返回int值,因此我们将其称为:int x = str.length();for(int i = 0; i < str.length(); i++),等

substring(int)substring(int, int)方法(也属于String类)返回一个String值,我们使用它,如String s = str.substring(3, 5);String removed = str.substring(0, i)+str.substring(i+1);等。

所有这些示例都是Java中的有效语句。

但是,这些不是:5;"Hello there!";'@';add(2, 3);其中add()返回int值。

这是非常基本的。但我的问题是:str.length();str.charAt(0);和直接调用的几乎所有String方法都是有效语句,即使它们的返回类型没有void

即使是Scanner对象也可以像scannerObject.nextLine();一样直接调用方法,并且是一个有效的语句。

为什么?为什么5;无效,str.length()有效,即使它也可能等同于5;?什么构成Java语句,为什么本地方法无效语句,为什么允许对象方法调用,即使它们的功能相似并返回相同的东西?

0 个答案:

没有答案