パッケージに違約金cn.learn.chouxiang; / * 抽象メソッド:つまり、メソッドの元メンバーは、中括弧を削除し、抽象的なキーワードを追加、のセミコロンの終了 親クラスの実用的な意義は何かの一般的な動作を表すが、行動の発生は同じではありません 抽象クラス:メソッドを含む抽象クラスは抽象クラスである必要があり、抽象クラスの抽象メソッドが必ずしも含まれていません 。どのように抽象クラスと抽象メソッド 抽象クラスのサブクラスを継承しなければならない、1直接ではなく、新たな抽象クラスを 2サブクラスがオーバーライドする必要がありますがすべての抽象クラス抽象メソッド、抽象追加することなく、 オブジェクトを作成するための3サブクラスを 注意:サブクラスのコンストラクタは、スーパーデフォルトコンストラクタは、親クラスを呼び出す 抽象クラスの抽象メソッドではなく、直接、新しい、デザインパターンにはできませんでしょうgetを使用 最高抽象的な事柄を持つ親ならば、すべての抽象メソッドを、 しかし、最初のサブクラスの継承は、親、あなたがすることができ、まだ抽象クラス、抽象の残りの部分を書き換えるの親クラスの抽象メソッドを書き換える区別することはできません以下のサブクラスによって書き換えられ、そのために継続し続ける * / パブリック 抽象 クラス動物{ 公共の 動物(){ System.out.printlnは(「親 コンストラクタ」を実行する); } // 抽象メソッド パブリック 抽象 無効)(食べます。 }
パッケージcn.learn.chouxiangは、 パブリック クラス猫延び{動物を パブリック キャット(){ // デフォルトコンストラクタは、スーパー親クラスを呼び出している のSystem.out.println(「サブクラスのコンストラクタメソッドが実行される」); } @Override 公共 ボイド(){EAT のSystem.out.printlnは(「私は猫抽象クラスを継承し、私はすべての抽象メソッドを書き換える必要がありました」;) } }
パッケージcn.learn.chouxiang; パブリック クラスBeginEat { 公共 静的 ボイドメイン(文字列[]引数){ 猫CAT = 新しい新しい猫(); cat.eat(); // 親クラスのコンストラクタメソッドが実行 @ サブクラスのコンストラクタメソッドが実行されます // 私は猫抽象クラスを継承し、私はすべての抽象メソッドをオーバーライドする必要があります } }