这个标识符怎么改,请大佬看看吧

这个标识符要怎么改
abstract class Animal{
String name;

 pubilc Animal(String name){
    this.name=name;

}

public abstract void run();
}

class Dog extends Animal{
pubilc Dog(String name){
super(name);
}
public void run(){
System.out.println(name+"小短腿跑啊跑");
}
public void protecthome(){
System.out.println("我要开始认真看家了");
}
}

class Fish extends Animal{
pubilc Fish(String name)
{super(name);}
public void run(){
System.out.println(name+"我不会跑啦");
}
public void swim(){
System.out.println("我会游泳还有吐泡泡哦~");

}
  }

public class E{public static void main(String args[]){
Dog d=new Dog("狗子");
Fish f=new Fish("小鱼");
print(g);
}

public static void print(a)
{if(a instanceof Fish)
{Fish f=(Fish)a;
f.swim();}
else if(a instanceof Dog)
{Dog d=(Dog)a;
f.protecthome();
}
}
}

图不好上传
问题显示是
E.java:42: 错误: 需要<标识符>
public static void print(g)
^

public static void print(a)
->
public static void print(Object a)