java中静态类作为方法的参数可以么,或者有什么替代的方案

我是初学者,正在制作一个打飞机的小游戏- -!。现在遇到一点问题,还请各位大神赐教。
问题描述:
我的敌机类Enemy下有多个属性(如位置坐标x和y、血量hp、姿态degree、速度speed、贴图bmp等),在实例化时可以通过下面的这条语句来实例化并初始化。

 new Enemy(x,y,hp,degree,speed,bmp)

由于敌机种类较多,我打算将这些数据静态化放在一个类Params中。Params下有多个子类,这些子类的属性列表完全相同且全为静态属性(也可直接是静态子类),仅数值不同。比如某两种型号的敌机e_plane01以及e_plane02:

 public class Params {

    static class e_plane01{
            public static int x=11;
            public static int y=12;
            public static int hp=13;
    }
    static class e_plane02{
            public static int x=21;
            public static int y=22;
            public static int hp=23;
    } 
}

那么问题就来了,我实例化时的代码就老长老长的:

 enemy01= new Enemy(Params.e_plane01.x, Params.e_plane01.y, Params.e_plane01.hp,…);

如果是在C里,那我完全可以把E_plane作为一个结构体模板(保证属性列表相同),并分别创建e_plane01、e_plane02等结构体节点(不同种类的敌机的同一属性不尽相同),再将结构体节点的指针作为参数传给别的函数去操作。但java中没有结构体,我有没有办法写出 enemy01=new Enemy(&Params.e_plane01);这样简练的句子呢?这样的话,我只需修改构造函数成这样就好了:

Enemy(struct E_plane *someStaticClass){
    this->x=someStaticClass->x;
    this->y=someStaticClass->y;
…
}

所以特此求教各位大神,有没有解决办法,或者是我数据结构存在问题,有没有什么其他方案?谢谢大家

既然属性是静态的常量,可以用枚举啊!

可以用接口,定义一个敌机的接口,然后根据不同的敌机,生成不同的实现类,实现这个接口,实现接口的方法,然后可以直接传入接口类型,然后根据自己的需要
将接口的引用指向敌机的对象就可以了,比如说:Flyings(接口类型) airplane=new Airplane();