[英]How to use multiple objects and their methods from multiple classes
我有三個班。 我想在另一個類中使用一個 function 中的所有類。 我需要收集所有Letter
class 對象,並將每個 object 的getName
和getWeight
的結果放入 HashMap 中。 我也需要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
對象,我想獲得 3 個三個名稱,每個 object 一個,它們的權重在 HashMap (Delivery.deliverer.put(Deliverer.getName(), value);)
中。
這是一個小例子,其中 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) {
deliverer.put(delivery.getName(), delivery.getWeight());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.