0

Такой вопрос, как правильно выполнить метод 2 в методе 1? При такой картине (все методы динамические)

Какой-то другой класс {  
    В нём какой-то метод() {  
        К к = new K();  
        к.метод1();
    }  
}  

class К {  
    глобальная переменная = п;  
    метод1 () {дёргает п; дергает метод2}  
    метод2 () {дёргает(изменяет) п;}  
}

Сделано вопросом из комментария в теме: динамические объекты в Vaadin.

2
  • Впервые слышу о "динамических методах". Что вы подразумеваете под этим термином?
    – jmu
    27 авг 2012 в 16:38
  • скорее всего тем что они не статические))). а вообще да, такого термина в java нет
    – Viacheslav
    27 авг 2012 в 17:28

1 ответ 1

4

Ну есть как минимум два варианта (на самом деле одно и то же):

1.Передаем ссылку на объект в метод1 и вызываем метод2 используя эту ссылку:

class A{
     void a(){
     K k=new K();
     k.meth1(k);
     }
}
class K{
    void meth1(K k){k.meth2();}
    void meth2(){}
}

2.Используем ключевое слово this в значении ссылки на вызвавший метод объект:

class A{
    void a(){
    K k=new K();
    k.meth1();
    }
}
class K{
    void meth1(){this.meth2();}
    void meth2(){}
}

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.