主程序无法识别我的类方法java
我之前问过一个问题,但我没能解决。我试图创建一个主程序无法识别我的类方法java,java,arrays,class,object,Java,Arrays,Class,Object,我之前问过一个问题,但我没能解决。我试图创建一个补遗(类)数组,并将其存储在杂志(类)的单个对象中。尝试调用我的fillArray方法时,出现错误: cannot find symbol: symbol: method fillArray(Supplement[]) location: javaapplication1 这有什么问题吗 Supplement.java: // // // Generated by StarUML(tm) Java Add-In //
补遗
(类)数组,并将其存储在杂志
(类)的单个对象中。尝试调用我的fillArray
方法时,出现错误:
cannot find symbol:
symbol: method fillArray(Supplement[])
location: javaapplication1
这有什么问题吗
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;
public void fillArray(Supplement[] supplements2){
supplements2[0] = new Supplement("Sports Illustrated Special", 4);
supplements2[1] = new Supplement("Health and Nutrition", 2);
supplements2[2] = new Supplement("Lifestyled", 5);
supplements2[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(){};
}
//
//
// 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 Magazine magazineobj;
private Supplement[] 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;
supplements = supplements1;
};
public Magazine(String magazinename1, int WeeklyCost1, Supplement[] supplements1){
SetMagazine(magazinename1,WeeklyCost1,supplements1);
};
public Magazine(){};
public void printMagazine(){
System.out.println(magazineobj);
}
}
Magazine.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;
public void fillArray(Supplement[] supplements2){
supplements2[0] = new Supplement("Sports Illustrated Special", 4);
supplements2[1] = new Supplement("Health and Nutrition", 2);
supplements2[2] = new Supplement("Lifestyled", 5);
supplements2[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(){};
}
//
//
// 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 Magazine magazineobj;
private Supplement[] 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;
supplements = supplements1;
};
public Magazine(String magazinename1, int WeeklyCost1, Supplement[] supplements1){
SetMagazine(magazinename1,WeeklyCost1,supplements1);
};
public Magazine(){};
public void printMagazine(){
System.out.println(magazineobj);
}
}
主程序:
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
Supplement[] supplements = new Supplement[4];
fillArray(supplements);
Magazine magazineobj = new Magazine("The Wheels Special", 35, supplements);
magazineobj.printMagazine();
}
}
您需要使方法
fillArray
static
在没有Supplement
实例的情况下访问它,因为在JavaApplication1
类中没有名为fillArray
的方法是static
或者可以通过静态上下文访问
使用:
publicstaticvoidfillarray(增补[]增补){…}
电话:
Supplement.fillArray(supplements);
您想做什么?在这里,您可以从静态上下文调用实例方法。。。它不能工作你应该使这个方法静态并这样调用它:Supplement.fillArray(supplements)代码>这似乎让我现在可以编译了。但是,没有打印出来。我在杂志上的印刷方法有什么问题吗?这似乎让我现在可以编译了。但是,没有打印出来。我在杂志中的打印方法是否有问题?这是因为magazineobj
实例中的magazineobj
字段为空。此外,您不会覆盖toString
方法。您可以在main
-方法中尝试System.out.println(magazineobj)
,但如果不覆盖toString()
,则只会打印对象的名称和内存地址。