Обратиться к функции другого класса

210
10 ноября 2019, 01:00

Простите, как я могу обратиться к методу getName из активности NavigationActivity?

public class UserProfile {
private String name, email;
private int sex, avatar;
public UserProfile(String name, String email, int sex, int avatar){
    this.name = name;
    this.email = email;
    this.sex = sex;
    this.avatar = avatar;
}
public void setName(String name) { // изменяет имя пользователя (логин)
    this.name = name;
}
public String getName() {
    return name;
}
}

В авторизации (LoginActivity) идет создание этого профиля (то есть использую UserProfile(и здесь данные)). А в другом классе мне нужно эти данные как-то получить. А как это сделать?

Answer 1

В классе UserProfile (для примера) добавил еще методы "сеттер" и "геттер" для работы с полем email

public class UserProfile {
private String name, email;
private int sex, avatar;
public UserProfile(String name, String email, int sex, int avatar){
    this.name = name;
    this.email = email;
    this.sex = sex;
    this.avatar = avatar;
}
public void setName(String name) { // изменяет имя пользователя (логин)
    this.name = name;
}
public void setEmail(String email) { // изменяет почту пользователя
}
public String getName() {
    return name;
}
public String getEmail() {
    return email;
}

}

"Другой" класс, в котором для использования данных из класса типа UserProfile создаем объект этого класса и сразу заполняем данными, как того требует его конструктор. Затем через методы "геттеры" класса UserProfile получаем данные полей name и email

public class OtherClass{
//создаем объект класса UserProfile
UserProfile up = new UserProfile("vasya", "vasya@email", 1, 888);
// через методы "геттеры" получаем данные полей name и male
private String nameUser = up.getName();
private String mailUser = up.getEmail();
// создаем методы для использования данных из UserProfile
public void printName(){
    System.out.println(nameUser);
}
public void printEmail(){
    System.out.println(mailUser);
}

}

Основной класс MainClass, где объект типа OtherClass через свои методы получает данные из UserProfile (в д.сл. выводит их на консоль)

public class MainClass{
public static void main(String[] args){
    //в основном классе создаем объект типа OtherClass
    OtherClass oc = new OtherClass();
    //через его методы используем данные полей 
    //класса UserProfile
    oc.printName();
    oc.printEmail(); 
}

}

Вывод программы:

vasya

vasya@email

Answer 2
String name = x.getName();

где х - название объекта класса UserProfile

READ ALSO
Оптимизируем кода на JAVA

Оптимизируем кода на JAVA

Задача состоит в следующем:

100
Как задать несколько условий для if else Jquery

Как задать несколько условий для if else Jquery

Есть код, который отвечает за отправку формы на сайте:

129
имитация нажатие на элемент select value

имитация нажатие на элемент select value

есть выпадающий список и снизу кнопки , при нажатие на кнопки выбирается из списка select по строке , мне нужно что бы выбиралось не по строке...

130
установлено display : block , а элемент не отображается

установлено display : block , а элемент не отображается

Когда я нажимаю на cancel button,скрываю div Edit и после показываю div InfoСрабатывает первое условие :

138