>>362

ええと、
avstract ってのは単なるタイプミスね。
(今度からはきちんとコピー&ペーストしましょう)

abstract なクラス Shape を消してもエラーが出ない、というのは、どうだろう。
これを確認してくれ。

Shape クラスの宣言がソース中にある状態でコンパイルしたときに出来たクラスファイル

  Shape.class

が、まだ存在している状態で、ソース上から

  abstract class Shape{
    void display(){
  }}

を削除(コメントアウト)してコンパイルしていませんか?

class Circle extends Shape{ ......

なんかの行をコンパイルするときに、コンパイラは extend 元の Shape クラスを探しに行く
わけだけど、既に Shape.class というファイルが存在していると、コンパイラはソース中に
Shape クラスの宣言がなければそれを使うよ。

コンパイルする前に、すべての .class ファイルを削除する癖をつけると、
良いと思うんだけど。