Java 使用数组创建的对象,不能调用它';s方法!!为什么?

Java 使用数组创建的对象,不能调用它';s方法!!为什么?,java,Java,我创建了两个源代码文件,Shirt.java和shirtestarray.java 我面临的问题是,每当我尝试访问displayShirtInformation()方法时,我都无法做到这一点。。并获取所需的类、接口或枚举错误 下面给出了2个源文件-- Shirt.java-- public class Shirt { public int shirtID = 0; // Default ID for the shirt public String description = "-des

我创建了两个源代码文件,Shirt.javashirtestarray.java

我面临的问题是,每当我尝试访问displayShirtInformation()方法时,我都无法做到这一点。。并获取所需的类、接口或枚举错误

下面给出了2个源文件--

Shirt.java--

public class Shirt {

  public int shirtID = 0; // Default ID for the shirt
  public String description = "-description required-"; // default

  // The color codes are R=Red, B=Blue, G=Green, U=Unset
  public char colorCode = 'U';
  public double price = 0.0; // Default price for all shirts
  public int quantityInStock = 0; // Default quantity for all shirts

  public Shirt() {
  }

  public Shirt(int ID, String d, char c, double p, int q) {
    shirtID = ID;
    description = d;
    colorCode = c;
    price = p;
    quantityInStock = q;
  }

  // This method displays the values for an item
  public void displayShirtInformation() {

    System.out.println("Shirt ID: " + shirtID);
    System.out.println("Shirt description:" + description);
    System.out.println("Color Code: " + colorCode);
    System.out.println("Shirt price: " + price);
    System.out.println("Quantity in stock: " + quantityInStock);

  } // end of display method
} // end of class
public void  ShirtTestArray{
  public static void main(String [] args) {
    Shirt [] shirtArray={new Shirt (1,"blue",'b',76.67,4),new Shirt(2,"green",'g',98.79,1),
    new Shirt(3,"green",'g',34.78,90)};

    shirtArray[0].displayShirtInformation();
    shirtArray[1].displayShirtInformation();
    shirtArray[2].displayShirtInformation();

  }
}
shirtestarray.java--

public class Shirt {

  public int shirtID = 0; // Default ID for the shirt
  public String description = "-description required-"; // default

  // The color codes are R=Red, B=Blue, G=Green, U=Unset
  public char colorCode = 'U';
  public double price = 0.0; // Default price for all shirts
  public int quantityInStock = 0; // Default quantity for all shirts

  public Shirt() {
  }

  public Shirt(int ID, String d, char c, double p, int q) {
    shirtID = ID;
    description = d;
    colorCode = c;
    price = p;
    quantityInStock = q;
  }

  // This method displays the values for an item
  public void displayShirtInformation() {

    System.out.println("Shirt ID: " + shirtID);
    System.out.println("Shirt description:" + description);
    System.out.println("Color Code: " + colorCode);
    System.out.println("Shirt price: " + price);
    System.out.println("Quantity in stock: " + quantityInStock);

  } // end of display method
} // end of class
public void  ShirtTestArray{
  public static void main(String [] args) {
    Shirt [] shirtArray={new Shirt (1,"blue",'b',76.67,4),new Shirt(2,"green",'g',98.79,1),
    new Shirt(3,"green",'g',34.78,90)};

    shirtArray[0].displayShirtInformation();
    shirtArray[1].displayShirtInformation();
    shirtArray[2].displayShirtInformation();

  }
}

第二类应声明为类,而不是无效:

public class ShirtTestArray{
       ^
    public static void main(String [] args){
    Shirt [] shirtArray={new Shirt

(1,"blue",'b',76.67,4),new Shirt(2,"green",'g',98.79,1),
    new Shirt(3,"green",'g',34.78,90)};



       shirtArray[0].displayShirtInformation();
       shirtArray[1].displayShirtInformation();
       shirtArray[2].displayShirtInformation();

    }

}

你给ShirtestArray一个返回定义,说它应该是一个方法,而它应该是一个类


将“void”替换为“class”,您应该开始滚动。

语法错误是
public void shirtestarray{
而不是
public class shirtestarray{

欢呼::< /p>好看的抓取,没有看到那个。为了下面的OO最佳实践,请让你的成员变量私有-或者考虑一个<代码>不可变的< /Cord>对象。你也可以将你的“颜色”<代码> char < /> >改为<代码> EnUM<代码>,以防止数据输入错误。(您自己的代码可能会成为受害者-案例重要吗?)。