Я довольно новичок в Java, и я изо всех сил пытаюсь понять несколько понятий. Я пытаюсь создать класс Magazine in Magazine, который требует массива объектов из класса Supplement в своем конструкторе. Я создал метод внутри дополнения, который заполняет массив объектов дополнений, и я пытаюсь вызвать этот метод внутри журнала, чтобы заполнить еще один объект дополнения, который я там создал. Затем я пытаюсь передать этот массив объектов конструктору Magazine, чтобы один журнал мог иметь этот массив из 4 дополнений. Есть смысл? Во-первых, проблема в том, что мой метод fillArray не распознается в журнале из класса Supplement. Все мои классы находятся в одном пакете с исходным кодом, так в чем здесь проблема? Некоторые отзывы о том, где я могу ошибаться с моей логикой c, помогут некоторые указания в правильном направлении, так как я должен применить эту логику c также для некоторых других связанных классов, и я не совсем уверен, как go об этом.
Другой вопрос, который у меня возникает, заключается в том, что после проведения некоторых исследований я вижу, что некоторые люди используют в своих классах publi c stati c void main (String args []) для некоторых операции. Какова цель этого, так как я думал, что он использовался только внутри клиентской программы, и если он используется в классах, что будет использовать клиентская программа?
Журнал. java:
public class Magazine {
private String magazinename;
private int WeeklyCost;
private Supplement[] supplement;
public static void main(String args[]){
Supplement[] supplements = new Supplement[3];
supplements.fillArray();
Magazine magazineobj = new Magazine("The Wheels Special", 35, supplements);
};
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);
};
}
Дополнение. java:
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);
}
}