[英]How to create new object of nested static class in Java with Java Reflection
[英]How to get processed object and set it a new value to it in Java via Reflection API?
我正在搜索和學習更多關於它的 Java 反射 API。 但是我無法在其中找到我的問題解決方案的某些部分。 問題是,我只想更改用戶分配的對象的一個值。 這是我進一步觀察的代碼;
public class Car{
private String model_name;
private int horsepower;
public Tire t;
public void setModelName(String s){
model_name = s;
}
public void setHorsePower(int i){
horsepower = i;
}
public String getModelName(){
return model_name;
}
public int getHorsePower(){
return horsepower;
}
}
// Tire.java
public class Tire{
private String name;
public void setName(String s){
name = s;
}
public String getName(){
return name;
}
}
// Main class
public class Main{
public static void main(String []args){
Car a = new Car();
a.setModelName("Mustang 67");
a.setHorsePower(700);
a.t = new Tire("DummyBrand");
Class c = a.getClass();
Field []f = c.getDeclaredFields();
for(int i = 0; i < f.length; i++){
if(f[i].getType().getSimpleName().toString().matches("Tire"){
// How to change a object's t field's name variable?
}
}
System.out.printline(a.getModelName)
}
}
如果你們能提供幫助,我會很高興。 提前致謝。
Method setName = Tire.class.getDeclaredMethod("setName", String.class);
setName.invoke(a.t, "new value");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.