java枚举输出成员属性怎么比较好?

问题遇到的现象和发生背景

我的Java对象Man有n个成员变量,在不同的场合getName由于带不同的参数,要返回不同的结果

问题相关代码,请勿粘贴截图

就是man.getName()或者man.getName(参数)

运行结果及报错内容

现在用字符串switch +case 想改为枚举,而且最好是业务写在另外一个文件里

我的解答思路和尝试过的方法

public class ManName {

public final String getname(NameStyle pes_nameStyle,Man man)
{
}

我想要达到的结果

这个是静态的,不知能不能做成动态的
就是man.getName(我的枚举Style,可以为空),然后根据枚举值不同,分别写对应的逻辑,不要写函数,就一个switch分支就好
除了我创建一个String getName(enumNameStype)然后调用另外一个类的静态方法,有别的办法吗

已经解决了
public enum NameStyle {normal,prior_Shihao,princeName,kingname,logname,datavrap}
public String getname(NameStyle pes_nameStyle)
{
case 在这里

}
因为判断用的属性比较多,所以不另外放文件,

用反射不就行了吗

不同的参数是什么意思,有哪些不同的参数,返回的结果是什么样子的,能不能举几个返回结果的例子出来