Я изучаю базовый код на самом новичком уровне. Теперь я, наконец, начинаю баловать, на самом деле писать простые программы, и действительно застрял.Как вызвать метод объекта из другого класса без создания класса подкласса и/или наследования?
Я пишу простую программу, состоящую из двух классов; Люди, MainPage.
После запуска программы метод
openApp()
вызывается в основном методе из (MainPage Class).public static void main(String[] args) { openApp(); }
Далее, когда
openApp()
называется, пользователь имеет три меню, чтобы выбрать, чтобы перейти к тому, что выбираются путем ввода соответствующего номерат.е. 1 = Newsfeed, 2 = Профиль или 3 = Друзья.
общественного класса MainPage {
public static void openApp() {
System.out.println("Welcome to App!");
System.out.println();
System.out.println("To Select Option for:");
System.out.println("Newsfeed : 1");
System.out.println("Profile : 2");
System.out.println("Friends : 3");
System.out.println("Enter corresponding number: ");
int optionSelected = input.nextInt();
switch (optionSelected) {
case 1: System.out.println("NewsFeed");
break;
case 2: System.out.println("Profile");
break;
case 3: System.out.println("Friends");
break;
if (optionSelected == 3) {
people.friend();// Is it possible to write: friend() from "People" Class without extending to People Class
}
}
}
- Если пользователь выбирает "друзей", то программа вызывает метод от
Люди класса называютfriend(People name)
в классе MainPage, что печатает люди друзья объекта.
Моя попытка:
if (optionSelected == 3) {
people.friend();
}
Я получаю ошибку:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: people cannot be resolved
Проблемы Я не хочу, чтобы расширить касты в MainPage и наследовать все эти методы, но я все еще хотите вызвать метод Object из класса People для печати людей друзей объекта.
Примечание: только в случае, если кто-то хочет посмотреть на friend(People people)
метод, который находится в классе людей:
public void friend(People people) {
System.out.println(people.friend);
Спасибо за отличный ответ, Кристофер! Действительно оценил :) – user3289740