I am new to reflection in java and I thought that since I provided the arguments to the EnemyShip constructor that will be preserved. And After changing just the name of the ship, only that will be changed. However, I got wentworth is travelling at 0 instead of what I expected : wentworth is travelling at at 3242
Last line of code should in reflectionTest be main focus
I have 2 classes:
package com.reflectionapi.demo;
import java.lang.reflect.*;
public class reflectionTest {
public static void main(String[] args) {
    Class shipClass = EnemyShip.class;
    int shipMod= shipClass.getModifiers();
    String shipModStat="";
    switch(shipMod){
    case Modifier.PUBLIC: shipModStat="Public";
            break;
    case Modifier.PRIVATE: shipModStat="Private";
    }
    System.out.println(shipClass.getName()+" "+shipModStat
            );//prints class of ship
    Method[] methods = shipClass.getMethods();
    Class[] parameters;
    for (Method method: methods){
        String methodName = method.getName();
        parameters= method.getParameterTypes();// assign method parameters to paramters array
        if (methodName.startsWith("get"))
                    System.out.println(methodName+" is a Getter Method "+
                            "it returns "+ method.getReturnType()+"\n");    
        else 
            if (methodName.startsWith("set"))
                    for (Class param: parameters){
                System.out.println(methodName+" is a Setter Method and "+
                "takes parameters "+ param.getName()+"\n");
                    }
        }
    Class superClass = shipClass.getSuperclass();
    System.out.println(shipClass+" is a subclass of "+ superClass.getName()+"\n");
    Constructor[] constructors = shipClass.getConstructors();   
    //Constructor constructors = shipClass.getConstructor(new Class[] {EnemyShip.class} ); not iterable
    Object constructorItem =null;
    for (Constructor construct: constructors){
        System.out.println(construct);
    }
    try {
         constructorItem= shipClass.getConstructor(String.class , int.class ).newInstance("XT-1800", 5000);
    } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
            | NoSuchMethodException | SecurityException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    EnemyShip ship = new EnemyShip("Carl", 3242);
    ship.setName("Wentworth");
    //ship.setSpeed(1230420);
    System.out.println(ship.getName()+
            " is travelling at "+
            ship.getSpeed());
    }
}
Second class
 package com.reflectionapi.demo;
 public class EnemyShip {
public EnemyShip (String s, int m){// s= name m= speed
    /*
    name =s;
    speed=m;
 try later */
    System.out.println(s+
             " is travelling at :"+ m);
}
public EnemyShip (String s, int m, double j){// s= name m= speed
    System.out.println(s+
             " is travelling at :"+ m);
}
public String getName (){   
    return name ;
}
public void setName(String s){
    name =s;
}
public void setSpeed(int s){
    speed =s;
}
public int getSpeed(){
    return speed;
}
    private String name =""; 
    private int speed=0;
}