NickTheDev Ответов: 3

Как создать методы и подметоды?


Я знаю, как создать метод:

public/private static/none dataType/void methodName(arguments) {
/*
 * Code in here
 */
}


Мне было интересно, использовал ли я это:

public static void setStat() {

}


У меня мог бы быть метод, который ответвляется от
public static void setStat() {

}


вот так:

Class.setStat().attack(5);


Если это возможно, как бы я это сделал?? Не могли бы вы привести мне пример кода??

РЕДАКТИРОВАТЬ:

Я тоже хочу это сделать:

Class.addStat().attack(5);


Так что я могу либо добавить, либо установить статистику. Я также не знаю, в чем вернуться

public static void setStat() {

}


Пожалуйста, приведите пример, а не просто объяснение. Я учусь на примерах, чтобы знать, что я ищу.

Что я уже пробовал:

Я пробовал искать в google, но все их учебники кажутся слишком сложными и занимают много времени.

Peter Leow

Самое близкое, что вы можете получить, - это новые лямбда-выражения, включенные в Java Platform Standard Edition. Читать http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html

3 Ответов

Рейтинг:
22

Richard MacCutchan

public static void setStat() {
 
}

Class.setStat().attack(5);

Нет, это не сработает, потому что setStat ничего не возвращает. Для того чтобы вызвать подметод setStat необходимо вернуть ссылку на объект.


CPallini

5.

NickTheDev

Итак, что же я верну? Кроме того, есть ли способ проверить, была ли ссылка на метод снова, что он не позволит мне использовать его? Пример:


Класс.setStat().setStat().setStat();

Я не хочу, чтобы это случилось. Я хочу, чтобы мне разрешили ссылаться на него один раз и не иметь возможности ссылаться на него снова и снова. Кроме того, что я буду делать с методом атаки? Должен ли я каким-то образом сделать ссылку обратно на setStat() или просто вернуть значение, которое я установил в качестве атаки?

Richard MacCutchan

Я уже говорил в своем ответе, что он должен возвращать ссылку на объект. Метод можно вызвать только по имени класса для статических методов или по ссылке на объект для обычных методов. В приведенном выше примере, setStat должен возвращать ссылку на объект класса, содержащий метод с именем attack.


Если вы не понимаете основ языка Java, то далеко не уйдете. Я предлагаю вам пойти в Урок: классы и объекты (учебные пособия Java™ > изучение языка Java)[^] и изучить его в деталях.

Рейтинг:
0

CPallini

Это называется метод цепной, и должны использовать технику, предложенную Ричард См., например:: как добиться цепочки методов в java? - переполнение стека[^].


Рейтинг:
0

Paresh Kalsariya

публичный статический недействительными кнопку disp(){

}
класс. disp(5);