2016-12-06 5 views
0

Итак, я работал над построением метода с аргументами и т. Д., Но я столкнулся с dillema. Если бы я должен был сделать это:Как использовать расширенные методы

public static void setStat() { 

} 

Возможно ли создать «под-методы» в этом случае? Я приведу пример:

public static int attack(int attack) { 
    return attack; 
} 

public static int defense(int defense) { 
    return defense; 
} 

Затем связать "Super Method" (setStat()) к "суб-методы", как так:

setStat().attack(4); 

Если это возможно, пожалуйста, предоставьте пример того, как я мог это сделать.

+1

Не так, как вы его написали, но вы можете конструировать цепочку, если это выгодно. – ChiefTwoPencils

+3

Прежде всего, выходите из статического мира и в мир экстаза, как вы теряете много энергии, оставаясь там, где вы находитесь. Порядочная книга о ООП и Java поможет вам неизмеримо. –

+0

'setStat' просто должен был вернуть объект с' атакой' – 4castle

ответ

1

Тогда вы должны возвратить текущий instance т.е. this из метода setStat(), и он должен быть изменен,

public static void setStat() { 

} 

Для

public ThisClass setStat() { 
    //your logic 
    return this; 
} 

public int attack(int attack) { 
    return attack; 
} 

Тогда вы можете попытаться сделать это,

object.setStat().attack(4); 

Вы можете достигнуть цели e это, перемещая ваши методы из статических методов экземпляра и обрабатывая текущий объект this.

+0

Отлично, у меня есть эта часть. Моя другая проблема в том, что я делаю: object.setStat()/* и т. Д. */ Мне снова позволено ссылаться на метод. Как решить эту проблему? Как сообщить методу, какие методы он может получить, а какие - нет? – Nick

Смежные вопросы