Как объект передает сам себя в качестве параметра?

#java #parameters

#java #параметры

Вопрос:

У меня есть JFrame, который является основным классом программы. Я хочу передать его самого другим двум классам, одному, который обновит некоторую метку статистикой, а другой, который проверит множество полей.

Я выполнил методы получения для этих полей, но как я могу передать сам JFrame этим классам, чтобы они могли выполнять свою работу?

РЕДАКТИРОВАТЬ: моя ошибка, my fault. Первое, что я сделал, это this метод. Да, this решает мою проблему, но он не понял, что я совершаю ошибку.

Я делал это: new Statistics().execute(this);
где правильно это: new Statistics(this).execute();

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

Комментарии:

1. Я не думаю, что вы можете это сделать. Потому что, если вы хотите передать самого себя, вам нужно изменить какой-либо метод JFrame и вставить это «прохождение» в этот метод. Что вы подразумеваете под передачей самого JFram?

Ответ №1:

Просто передайте ссылку на this

 public class Other {

   public void doSomething(JFrame jFrame) {
      ...
   }
} 

public class MyFrame extends JFrame {

   Other other = new Other();

   public void method() {
      other.doSomething(this);
   }

}
  

Ответ №2:

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

Ответ №3:

Вы можете использовать this для передачи самого себя в методе.

 foo(this);
  

Ответ №4:

вы пробовали использовать this ?

Например:

 other.doSomething(this)