Я знаю, что в конструторах нужно определять переменные типа вот так: public cat( String name) { this.name = name; } А, как вот это понять this.messenger = new Telegram(); Да, как это понять
public class Telegram implements Application, Messenger {

    //...методы
}

public class Client {

    private Messenger messenger;

    public Client() {
        this.messenger = new Telegram();
    }
}


public class Smartphone {

    private Application application;

    public Smartphone() {
        this.application = new Telegram();
    }
}