Итак, я уже сделал переопределение метода toString()
в моем классе Customer
, который используется для отображения всех клиентов и некоторых других деталей. Теперь мне нужен метод, который распечатывает электронную почту для всех этих клиентов через определенное количество дней. Я пытался создать метод printEmail()
в своем классе Customer
, но получаю сообщение об ошибке: non-static variable cannot be referenced from a static context
. Можно ли в любом случае использовать метод для печати простого текста для каждого клиента через определенное количество дней?
Customer.java
:
//
//
// Generated by StarUML(tm) Java Add-In
//
// @ Project : Untitled
// @ File Name : Customer.java
// @ Date : 21/04/2020
// @ Author :
//
//
package javaapplication1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Customer {
private String name;
private String email;
private List <Customer> list;
private Magazine magazines;
public void SetName(String name){
this.name = name;
}
public void SetEmail(String email){
this.email = email;
}
public String GetName(){
return name;
}
public String GetEmail(){
return email;
}
public List<Customer> getList() {
return list;
}
public void setList(List<Customer> list) {
this.list = list;
}
public Magazine getMagazine(){
return magazines;
}
public Customer(String name, String email, Magazine magazines){
this.name = name;
this.email = email;
this.magazines = magazines;
}
public void printEmail(){
System.out.println("Hi there, " + name + "!\n Your magazine is ready to look at, along with your desired list of supplements: " + magazines);
}
public String toString() {
return "\nName: " + name + "\nEmail: " + email + "\n" + magazines + "\n";
}
}
Main:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication1;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JavaApplication1 {
public static void main(String[] args) {
List <Customer> customers = new ArrayList<Customer>();
customers.add(new Customer("Morgan Freeman","morganfman@yahoo.com", magazineobj3));
customers.add(new Customer("George Bush","gbush21@yahoo.com", magazineobj3));
customers.add(new Customer("Jamie Carragher","jcarra@yahoo.com", magazineobj3));
customers.add(new Customer("Sarah Williams","swilliams@yahoo.com", magazineobj3));
customers.add(new Customer("Nathan Bledsoe","bledsoe@yahoo.com", magazineobj3));
customers.add(new Customer("Phillip Franklin","pfranky@yahoo.com", magazineobj3));
List <PayingCustomer> payingCustomers = new ArrayList<PayingCustomer>();
payingCustomers.add(new PayingCustomer(customers.get(0), "Credit Card, Bank Account: 12345678"));
payingCustomers.add(new PayingCustomer(customers.get(1), "Debit Card, Bank Account: 12345678"));
int x = customers.lastIndexOf(customers);
for(int i = 0; i < x; i++){
Customer.printEmail();
}
}
}