java中的方法和对象问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:29:25
Scanner scanner = new Scanner(System.in);
第一个Scanner当然是类, scanner是对象。
new关键字表示新增一个Scanner对象。
那么new后的Scanner()是对象还是方法呢?
好像有的书上写的是构造方法。要是是构造方法的话,为什么括号里的System.in是对象而不是构造函数的参数呢?
到底Scanner()是方法还是对象

Scanner()是构造方法,括号里的System.in是对象,=也是=构造函数的参数

Scanner()的构造方法的声明(之一):
Scanner(InputStream source)

System.in是InputStream类的一个对象

对象为什么不能当参数。你应该多看看javaj的文档,看看源码。

真正执行输入的是System.in;
new后的Scanner()确实是Scanner的构造方法,因为只有构造方法才能使用new这种方法获得类的实例。

Scanner的构造方法有很多种,这里使用到底是Scanner(InputStream source);
它需要的参数是一个输入流,所以,就必须给它。
而Scanner(String source) 同样是Scanner的构造方法。new Scanner("abc");同样是正确的。

多看看api帮助文档。

到底Scanner()是方法还是对象当然是方法了。是构造方法