I'm trying to run my class file which has a main method in Netbeans, and I get this error.
Exception in thread "main" java.lang.NullPointerException
    at javaapplication1.Magazine.main(Magazine.java:25)
What's the issue? For clarity, each Magazine has an some Supplements so I have tried to create an array of Supplements to store in one instance of a magazine.
I also don't fully understand the reason behind using a main method in a class. How would I make use of it in the main program?
Magazine.java:
//
//
//  Generated by StarUML(tm) Java Add-In
//
//  @ Project : Untitled
//  @ File Name : Magazine.java
//  @ Date : 21/04/2020
//  @ Author : 
//
//
package javaapplication1;
public class Magazine {
    private String magazinename;
    private int WeeklyCost;
    private Supplement[] supplement;
        private Magazine magazineobj;
        public static void main(String args[]){
            Supplement[] supplements = new Supplement[3];
            for(Supplement supplement: supplements){
                supplement.fillArray();
            }
            Magazine magazineobj = new Magazine("The Wheels Special", 35, supplements);
            magazineobj.printMagazine();
        };
        public void SetMagazineName(String magazinename1){
            magazinename = magazinename1;
        };
    public void SetWeeklyCost(int WeeklyCost1){
            WeeklyCost = WeeklyCost1;
        };
    public String GetMagazineName(){
            return magazinename;
        };
    public int GetWeeklyCost(){
            return WeeklyCost;
        };
    public void SetMagazine(String magazinename1, int WeeklyCost1, Supplement[] supplements1){
            magazinename = magazinename1;
            WeeklyCost = WeeklyCost1;
            supplement = supplements1;
        };
    public Magazine(String magazinename1, int WeeklyCost1, Supplement[] supplements1){
            SetMagazine(magazinename1,WeeklyCost1,supplements1);
        };
        public Magazine(){};
        public void printMagazine(){
            System.out.println(magazineobj);
        }
}
Supplement.java:
//
//
//  Generated by StarUML(tm) Java Add-In
//
//  @ Project : Untitled
//  @ File Name : Supplement.java
//  @ Date : 21/04/2020
//  @ Author : 
//
//
package javaapplication1;
public class Supplement {
    private String supplementname;
    private int WeeklySupCost;
        Supplement[] supplements = new Supplement[3];
        public void fillArray(){
            supplements[0] = new Supplement("Sports Illustrated Special", 4);
            supplements[1] = new Supplement("Health and Nutrition", 2);
            supplements[2] = new Supplement("Lifestyled", 5);
            supplements[3] = new Supplement("Gamer's Update", 3);
         };
        public void SetSupplementName(String supplementname1){
            supplementname = supplementname1;
        };
    public void WeeklySupCost(int WeeklySupCost1){
            WeeklySupCost = WeeklySupCost1;
        };
    public String GetSupplementName(){
            return supplementname;
        };
public int GetWeeklyCost(){
        return WeeklySupCost;
    };
public void SetSupplement(String supplementname1, int WeeklySupCost1){
        supplementname = supplementname1;
    };
public Supplement(String supplementname1, int WeeklySupCost1){
        SetSupplement(supplementname1, WeeklySupCost1);
    };
    public Supplement(){};
}
 
    