如何在java上显示所有对象

如何在java上显示所有对象,java,inheritance,polymorphism,Java,Inheritance,Polymorphism,Item.java 我有一个项目的变量名称和重量 package com.company; public class Item { String name; Double weight; } Bag.java 该袋最多可容纳20公斤物品 package com.company; public class Bag { Item [] myBags; int itemCount; Double currentWeight; Bag(){

Item.java

我有一个项目的变量名称和重量

package com.company;

public class Item {
    String name;
    Double weight;
}
Bag.java

该袋最多可容纳20公斤物品

package com.company;

public class Bag {
    Item [] myBags;
    int itemCount;
    Double currentWeight;

    Bag(){
        itemCount = 0;
        currentWeight = 0.0;
        myBags = new Item[50];
    }
    boolean canAddItem(Item item) {
            if (currentWeight + item.weight > 20) {
                return false;
            } else {
                return true;
            }
        }

    void AddItem(Item item){
        myBags[itemCount] = item;
        currentWeight = currentWeight + myBags[itemCount].weight;
        itemCount++;
    }
}
Main.java

package com.company;

public class Main {

    public static void main(String[] args) {
    // write your code here

        Bag myBag = new Bag();

        /*item 1*/
        Item fishing_rod = new Item();
        fishing_rod.name = "rod1";
        fishing_rod.weight = 10.4;

        if(myBag.canAddItem(fishing_rod)){
        myBag.AddItem(fishing_rod);}



        /*item 2*/
        Item axe = new Item();
        axe.name = "axe1";
        axe.weight = 2.2;

        if(myBag.canAddItem(axe)){
            myBag.AddItem(axe);}


        System.out.println(myBag.currentWeight);
        //System.out.println(myBag.myBags); i want to show that's here

    }
}
我在包里添了两样东西。我想显示我在包中添加的所有对象

我怎样才能展示?如何在java中显示这一点


感谢您的帮助

在您的Bag类中定义一个函数:

public void printBag() {
    for(Item element : myBags) {
       System.out.println('Name: ' + element.name);
       System.out.println('Weight: ' + element.weight);
    }
}
public void printBag() {
        for(int i =0; i< itemCount; i++) {
            System.out.println("Name: " + myBags[i].name);
            System.out.println("Weight: " + myBags[i].weight);
        }
    }
从主界面调用它:


在Bag类中定义一个函数:

public void printBag() {
    for(Item element : myBags) {
       System.out.println('Name: ' + element.name);
       System.out.println('Weight: ' + element.weight);
    }
}
public void printBag() {
        for(int i =0; i< itemCount; i++) {
            System.out.println("Name: " + myBags[i].name);
            System.out.println("Weight: " + myBags[i].weight);
        }
    }
从主界面调用它:

您必须重写类中的toString方法: 对于第一个项目类别:

@Override
public String toString() {
    return "Name: "+ name + ": weight "+ weight +"Kg";
}
然后是包课

这样,每次打印包时,您都会得到包的内容。

您必须重写类中的toString方法: 对于第一个项目类别:

@Override
public String toString() {
    return "Name: "+ name + ": weight "+ weight +"Kg";
}
然后是包课

这样,每次打印您的书包时,您都会得到它的内容。

在bag类中:

public void printBag() {
    for(Item element : myBags) {
       System.out.println('Name: ' + element.name);
       System.out.println('Weight: ' + element.weight);
    }
}
public void printBag() {
        for(int i =0; i< itemCount; i++) {
            System.out.println("Name: " + myBags[i].name);
            System.out.println("Weight: " + myBags[i].weight);
        }
    }
在主要方法中: myBag.printBag

行李舱:

public void printBag() {
    for(Item element : myBags) {
       System.out.println('Name: ' + element.name);
       System.out.println('Weight: ' + element.weight);
    }
}
public void printBag() {
        for(int i =0; i< itemCount; i++) {
            System.out.println("Name: " + myBags[i].name);
            System.out.println("Weight: " + myBags[i].weight);
        }
    }
在主要方法中:
myBag.printBag

您可能需要向Item类添加一个print函数,该函数只打印name字段。然后运行包中的所有项目,并用这种方法调用您定义的函数。@Rexam是的,您是对的。System.out.printlnmyBag.myBags[0]。name我可以这样显示它,但我需要显示所有项目的输出如果要调用System.out.printlnmyBag,则应该重写Item和Bag的toString方法。另外,请看这里:您可能需要向Item类添加一个打印函数,该函数只打印name字段。然后运行包中的所有项目,并用这种方法调用您定义的函数。@Rexam是的,您是对的。System.out.printlnmyBag.myBags[0]。name我可以这样显示它,但我需要显示所有项目的输出如果要调用System.out.printlnmyBag,则应该重写Item和Bag的toString方法。另外,看看这里:你是什么意思?我无法理解修复,请参阅我的编辑。顺便说一句,我建议你不要使用项目[],而是使用列表。谢谢你的回答,但我不想要这个输出。我需要item.name和item.weight输出您只需相应地将方法更改为string到item类。我已经做了编辑,你可以在回答中看到:你是什么意思?我无法理解修复,请参阅我的编辑。顺便说一句,我建议你不要使用项目[],而是使用列表。谢谢你的回答,但我不想要这个输出。我需要item.name和item.weight输出您只需相应地将方法更改为string到item类。我已经做了编辑,你可以在回答中看到,很高兴你帮了忙: