猿问

如何使用多个类中的多个对象及其方法

我有三节课。我想在另一个类的一个函数中使用所有类。我需要收集所有Letter类对象并将每个对象的结果放入getNameHashMapgetWeight中。Package我也需要这样做Deliverer。


已经尝试使用getDeclaredField/getDeclaredClasses.


import java.lang.reflect.Field;


public class Parcel

{

    protected static void addWeight()

    {

        Class<?>[] classes = Letter.class.getDeclaredClasses();

        for (int i = 0; i < classes.length; i++) {

            System.out.println("hello");

            System.out.println("Class = " + classes[i].getName());

        }


        Field[] allFieldsLetter = Letter.class.getDeclaredFields();

        for (int i = 0; i < allFieldsLetter.length; i++) {

            double value = Letter.getWeight();

            Delivery.weightList.put(Letter.getName(), value);

        }

        Field[] allFieldsPackage = Package.class.getDeclaredFields();

        for (int i = 0; i < allFieldsPackage.length; i++) {

            double value = Package.getWeight();

            Delivery.weightList.put(Package.getName(), value);

        }

        Field[] allFieldsDeliverer = Deliverer.class.getDeclaredFields();

        for (int i = 0; i < allFieldsDeliverer.length; i++) {

            double value = Deliverer.getWeight() * 5;

            Delivery.deliverer.put(Deliverer.getName(), value);

        }

    }

}

例如,如果我创建 3 个Deliverer对象,我想在 HashMap 中获取 3 个三个名称,每个对象一个,以及它们的权重(Delivery.deliverer.put(Deliverer.getName(), value);)。


函数式编程
浏览 93回答 1
1回答

一只名叫tom的猫

这是一个小示例,其中 Delivery 有一个构造函数,该构造函数接受名称和权重值作为参数。List<Delivery> myDeliveryInstances = new ArrayList<Delivery>();myDeliveryInstances.add(new Delivery("D1", 10));myDeliveryInstances.add(new Delivery("D2", 25));myDeliveryInstances.add(new Delivery("D3", 50));Map<String, Long) deliverer = new HashMap<String, Long>();for (Delivery delivery : myDeliveryInstances) {&nbsp; &nbsp; deliverer.put(delivery.getName(), delivery.getWeight());}
随时随地看视频慕课网APP

相关分类

Java
我要回答