Это конструктор класса, который следует за новым ключевым словом в Java? - PullRequest
0 голосов
/ 06 октября 2018

когда мы пишем что-то вроде

Scanner scanner = new Scanner(System.in);

Действительно ли мы вызываем конструктор, определенный в классе Scanner, новым Scanner (System.in)?Если ответ «да», то как можно получить доступ к конструктору, который является методом особого типа, не создавая экземпляр.Если ответ «нет», то почему у него всегда должно быть имя конструктора?

1 Ответ

0 голосов
/ 06 октября 2018

Действительно ли мы вызываем конструктор, определенный в классе Scanner, новым Scanner (System.in)?

yes.

Если ответ положительныйтогда как можно получить доступ к конструктору, который является методом особого типа, не создавая экземпляр.

Вы можете скопировать байт-код и создать метод с тем же кодом, чтобы сделать то же самое.Тем не менее, вы не можете вызывать конструктор обычным способом как метод.

Конструктор в некотором смысле похож на метод, однако отличается от него в том смысле, что он вызывается только для инициализации нового объекта и являетсяне вызывается напрямую.

...