解決済みですが、少々気になったのでちょっと試してみたことをコメントします。
IDEではなくjavacを使ってコンパイルしておられると思います。
A-pZさんの1番目の回答があたりに思えるのですが、少々複雑な状況に思えます。
(1) 最初はHuman.javaにコンストラクターの定義がなかった
(2) その状態でHuman.javaをコンパイルした
(3) Human.javaを編集しコンストラクターの定義を追加した
(4) Human.javaをコンパイルせずに何かおかしな操作をした
例えばtouch Human.classとしてHuman.javaよりHuman.classの日付を新しくしてしまった。またはHuman.javaの日付を古くしてしまった・・・
(5) Animal.javaをコンパイルした
(4)のようなおかしなことをしなければHuman.javaをコンパイルしなおさなくても(5)のコンパイル時にjavacが「Human.classはあるけど、Human.javaより古いからもう一度コンパイルしてあげましょう」と気を利かせてくれるのですが、(4)をやってしまうと「Human.classは最新だからコンパイルしなおす必要はない」とjavacが判断してしまい結果としてご質問のようなエラーになってしまいます。(Windows10 jdk1.8.0_131でやってみました)
# 実験結果
$ javac Animal.java
Animal.java:3: エラー: クラス Humanのコンストラクタ Humanは指定された型に適用できません。
Human h = new Human(name, IQ);
^
期待値: 引数がありません
検出値: String,int
理由: 実引数リストと仮引数リストの長さが異なります
エラー1個
普通にプログラムを書いてjavacを動かせばこうしたことは起こらないように思えるのですが・・・何かやっちゃたのかも知れませんね。
ちなみに、「ソースが正しいのにおかしなコンパイルエラーがでる」と思ったらこういうふうにしてみるのも手かも知れません。
$ javap Human.class
Compiled from "Human.java"
public class Human {
public Human();
}
javapはクラスファイルの内容を簡単にダンプするコマンドなのですが上をみると「あれれ!Humanのコンストラクターを定義したはずなのにそれが入ってない!」ということに気付けたりします。普通はこんなことしなくてもよいはずなのでトリビア的な話ですが・・・
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。