При вызове метода из ArrayList переменная возвращает null

Есть задание создать массив, заполнить его кандидатами и к каждому применить метод hello() с помощью цикла for. При реализации значение name возвращается, как null. Прошу наставить на путь истинный, где моя ошибка.

import java.util.ArrayList;
import java.util.List;

 public class MethodNull {

    public static void main(String[] args) {
        List<Candidate> candidates = new ArrayList<>();
        candidates.add(new Candidate("John"));
        candidates.add(new Candidate("Bob"));
        for (Candidate candidate: candidates) {
            candidate.hello();
        }
        System.out.println(candidates); // тест на заполненность массива
    }
}
class Candidate {
    String name;

    public Candidate(String n) {
        name = this.name;
    }

    public void hello() {
        System.out.println("Hi, my name is " + name);
    }
}

Этот код возвращает следующий текст:

Hi, my name is null
Hi, my name is null
[Candidate@1b6d3586, Candidate@4554617c]

Ответы (0 шт):