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

Есть класс Admin в котором в list smartPhones добавляются данные класса Smartphone,и есть класс Pokupatel в котором покупатель должен видеть все смартфоны которые есть в list.Помогите как можно это реализовать?

class Admin  {
 public static void main(String[] args) {
            ArrayList<SmartPhone> smartPhones=new ArrayList<SmartPhone>();
            smartPhones.add(new SmartPhone(369890, "Iphone", 6, 4, 12, "11"));
            smartPhones.add(new SmartPhone(129890, "Samsung", 3, 4, 48, "A51"));
     System.out.println(smartPhones.get(0));

public class Pokupatel {
 public static void main(String[] args) {

    
}
}

Ответы (1 шт):

Автор решения: ЮрийСПб

В программе должна быть только один главный метод запуска public static void main(String[] args)

Чтобы данные из к-л класса были доступны из вне - поместите эти данные в переменную на уровне класса с public модификатором. После этого вы сможете получить к ним доступ как-то так:

class Admin  {
    public List<SmartPhone> smartPhones = new ArrayList<SmartPhone>();
    
    public Admin() {
         smartPhones.add(new SmartPhone(369890, "Iphone", 6, 4, 12, "11"));
         smartPhones.add(new SmartPhone(129890, "Samsung", 3, 4, 48, "A51"));
         System.out.println(smartPhones.get(0));
    }
}

public class Pokupatel {
     public printSmartphones() {
         Admin admin = new Admin();
         List<SmartPhone> smartphones = admin.smartPhones;
         System.out.println(smartPhones.get(0));
    }
}

public class Main {
    public static void main(String[] args) {
        Pokupatel pokupatel = new Pokupatel();
        pokupatel.printSmartphones();
    }
}
→ Ссылка