Как обратиться к другому классу
Перейти к содержимому

Как обратиться к другому классу

  • автор:

Как вызвать другой класс java

Для вызова другого класса в Java, необходимо выполнить следующие шаги:

  • Создать объект класса, который нужно вызвать. Это можно сделать с помощью оператора new.
MyClass myObject = new MyClass(); 

В этом примере MyClass — это имя класса, который нужно вызвать, а myObject — имя объекта, который вы создаете.

  • Вызвать метод или обратиться к переменной созданного объекта, используя имя объекта и имя метода или переменной.
int result = myObject.myMethod(); String name = myObject.myVariable; 

В этом примере myMethod и myVariable — это имена метода и переменной в классе MyClass

public class MyClass  public void myMethod()  System.out.println("Hello from MyClass!"); > > public class MyOtherClass  public static void main(String[] args)  MyClass myObject = new MyClass(); myObject.myMethod(); // вызываем метод из MyClass > > 

В этом примере мы создали объект MyClass в классе MyOtherClass и вызвали метод myMethod() из MyClass

Обращение к объекту из другого класса

Проблема в том, что не понимаю, как получить ссылку на объект, который создается в первом классе из 3-его.

Class1.java — Запрос авторизации UserData userData;

public void calcLogin()

Я хочу получить результат выполнения действия в 3-ем классе.

class UserData < static MapdataStore = new HashMap(); > public void setDataStore(String a1, String a2)

Но я не вижу такого объекта. Получается, что его нет в памяти. Подскажите, куда копать и на что обратить внимание.

Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 17 фев 2016 в 8:33
2,191 1 1 золотой знак 16 16 серебряных знаков 29 29 бронзовых знаков
Добавьте код из ваших трёх классов.
17 фев 2016 в 8:43

5 ответов 5

Сортировка: Сброс на вариант по умолчанию

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

Чтобы увидеть переменную, необязательно объявлять ее статичной, достаточно в самом начале класса, в блоке описания переменных, объявить ее как protected (видимость внутри пакета) или public (общая видимость).

class Class1 < protected UserData ud1; protected static UserData ud2; public void someMethod()< UserData ud3; >> 

Здесь переменная ud1 будет видна всем классам внутри пакета через экземпляр класса Class1 (например, new Class1().ud1) — и, соответственно, будет разная для каждого экземпляра класса.

Статичная переменная ud2 — это переменная, одинаковая для всех экземпляров класса. Будет доступна для всех классов внутри пакета через Class1.ud2 . Вряд ли это то, что вам нужно.

Ну а третья переменная ud3 отойдет сборщику мусора после выполнения метода.

Как мне вызвать метод из другого класса?

Есть два класса, в одном из которых есть метод мэйн, в другом классе тоже есть методы. Как мне из класса. где есть метод мэйн вызвать методы другого класса?

  • Вопрос задан более трёх лет назад
  • 44397 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 5
Михаил @cocain1988

Если я правильно понимаю то тебе нужно вначале объявить класс, метод которого ты хочешь вызвать. К примеру так:

class Apple < public String color; public String color()< return color>> class Shop < public static void main(String[] args)< Apple a = new Apple(); System.out.println( a.color() ); // Данный метод должен вывести цвет. >>

А более подробно лучше конечно прочитать документацию по тем ссылкам которые указывались ранее.

Ответ написан более трёх лет назад
Нравится 5 1 комментарий
Спасибо, хоть один добрый человек объяснил для чайников
software engineer
Пройди туториал чтоли?
docs.oracle.com/javase/tutorial
Ответ написан более трёх лет назад
Нравится 3 1 комментарий
olololosh @olololosh Автор вопроса
спасибо, сам вспомнил, а то посреди ночи голова уже не варит, не подумав, сразу вопросы задаю
localghost @localghost

И как-то никто, по-моему, даже не намекнул на суть.
КМК, не хватает понимания, что (обычно) нельзя вызвать просто метод класса. Класс — это шаблон, по которому создаются объекты. Чтобы вызвать «метод класса», надо создать объект этого класса, а потом обратиться к объекту, мол, дорогой, вызови-ка свой метод такой-то.

Как обратиться к методу другого класса java

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

Например, вы работаете в классе Main и вам необходимо использовать методы класса ArrayList, выглядеть это будет следующим образом:

import java.util.ArrayList; public class Main  ArrayListInteger> numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); // и далее ваш код. > 

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

// импортируем класс Arrays import java.util.Arrays; String[] array = new String[] "one", "two", "three">; // вызовем статический метод toString() System.out.println(Arrays.toString(array)); // => [one, two, three] 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *