Hola learn
Claro que lo puedes hacer pero no tienes que pasar el nombre de la propiedad recerda que ellas pertenecen al objeto y estan dentro de el, por ejemplo puede hacer lo sigueinte
/* suponiendo que tienes un objeto public llamado gato con la porpiedad colorOjos
public gato cambio (dato miGato, String propiedad)
{
miGato.colorOjos(propiedad); // esta es la propiedad del objeto gato
return miGato;
}
/* para hacer esto tienes que importar la clase gato (en este caso), que tu clase gato tenga un metodo (o propiedad) llamada colorOjos de tipo String*/
Esa es la respuesta a tu pregunta-------------- ahora mi pregunta es por que necesitas hacerlo de esa forma y no usas los getters o setters dentro de la clase que lo necesitas osea setColorOjos(String color ojos) o getColorOjos() ?