自分もjava勉強中なので試しに作ってみた
これで動いたよ
違うところだけ書いてみる

public class Hero extends Caractor {
Hero(String name){
this.name = name;
}

public void attack(Caractor m){
System.out.println(this.name + "のこうげき!");
System.out.println(m.name + "に10のダメージを与えた!");
m.hp -=10;
}
}
public class Slime extends Caractor {
Slime(String name, int hp){
this.name = name;
this.hp = hp;
}

public void run(){
System.out.println(this.name+"は逃げ出した!");
}
}

あとはだいたい同じです。