Я видел во многих нотацию кода Java, что после метода мы называем другого, вот пример.
Toast.makeText(text).setGravity(Gravity.TOP, 0, 0).setView(layout).show();
Поскольку Вы присматриваете за вызовом makeText
по возврату мы звоним setGravity
и до сих пор
Как я могу сделать это со своими собственными классами? Я должен сделать что-либо специальное?
Этот шаблон называется «Fluent Interfaces» (см. Wikipedia )
Просто верните это;
из методов вместо того, чтобы ничего возвращать.
Так, например,
public void makeText(String text) {
this.text = text;
}
будет выглядеть как
public Toast makeText(String text) {
this.text = text;
return this;
}
Из вашего примера:
Toast.makeText (текст) .setGravity (Gravity.TOP, 0, 0) .setView (layout) .show ();
Каждый метод в цепочке должен возвращать класс или интерфейс. Следующий метод в цепочке должен быть частью возвращаемого класса.
Начнем с тоста. Метод makeText, который определен как статический метод в классе Toast, должен возвращать класс или интерфейс. Здесь он возвращает экземпляр класса Gravity.
Метод setGravity, который определен в классе Gravity, возвращает экземпляр класса View,
Метод setView, который определен в классе View, возвращает экземпляр класса JPanel.
Эта цепочка может быть записана шаг за шагом.
Gravity gravity = Toast.makeText(text);
View view = gravity.setGravity(Gravity.TOP, 0, 0);
JPanel panel = view.setView(layout);
panel.show();
Запись цепочки как цепочки удаляет все промежуточные переменные экземпляра из исходного кода.
Найдите в Google шаблон конструктора или свободный интерфейс, чтобы получить более подробную информацию об этом.
Вернуть this в конце метода может помочь в большинстве случаев.