В приведенном выше коде я получаю сообщение об ошибке для строки "Person p1 = new Person (name:" Ankit ");" Кто-то может объяснить, почему
Это потому, что ваш синтаксис вызывать конструктор неверно. Нет необходимости указывать параметр.
Просто сделайте это следующим образом:
Person p1 = new Person("Ankit");
В случае, если вам интересно, как Java узнает, на какой параметр вы ссылались, если вы не указали параметр. Он следует порядку параметров при создании конструктора (то же самое для вызова метода):
Допустим, у вас есть name
и nick name
(оба являются String):
//Constructor
//1st param: name
//2nd param: nickName
public Person(String name, String nickName){
this.name = name;
this.nickName = nickName;
}
//Creating Person object
Person p = new Person("Rowan Atkinson", "Bean"); //name:Rowan Atkinson, nickName:Bean
^ ^
// 1st param 2nd param