为什么这条指令仍然可以编译?

时间:2016-01-04 14:12:21

标签: java arrays

即使不存在将数组作为参数的println方法,下面的指令也会编译而不会出错。 为什么会这样?我原以为它不会编译

System.out.println(newArray());

2 个答案:

答案 0 :(得分:3)

println方法接受Object。根据{{​​3}}:

  

在Java编程语言中,数组是对象

答案 1 :(得分:1)

请参阅sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied。 (我添加的代码格式)。

public void println(Object x)
  

打印Object然后终止该行。此方法首先调用String.valueOf(x)来获取打印对象的字符串值,然后就像调用print(String)然后调用println()一样。

正如评论中所提到的,在Java中,一切都是ObjectObject被称为"根类"因为所有其他类都扩展它。因此,您可以将任何内容传递给println