PrintStreamクラスを新しく定義したクラスに拡張してprintln(int)をオーバーライドしたいと考えています。PrintStreamクラスのプロパティを新しく派生したクラスに拡張(継承)できない
import java.io.PrintStream;
class Newer extends PrintStream
{ public void println(int x) {
System.out.println(x);
}
public static void main(String[] args)
{
Newer n=new Newer();
n.println(2);
}
}
私は
extendsprintstream.java:3: cannot find symbol
symbol : constructor PrintStream()
location: class java.io.PrintStream
class Newer extends PrintStream
^
1 error
なぜ私はクラスのPrintStreamを継承することはできませんよと言ってコンパイルエラーを持っていますか?それはsuper()
を呼び出し、コンパイラによって作成されたデフォルトの引数なしのコンストラクタ、、、基底クラスの、すなわち引数なしのコンストラクタを取得するよう
コードを説明するのではなく、質問に投稿してください。 – csmckelvey
コンパイルしようとしている_actual_コードを投稿するのはどうですか... – csmckelvey
他の質問に移動しているので、最後にアドバイスしてください - 実際のコードを投稿してください(上記のフォーマットではありません)エラーメッセージ。あなたの質問では、あなたのエラーメッセージがあなたのコードと一致しないため、これらのうちの1つが正しくありません。あなたの質問を投稿する前にこれらの簡単なことをすることができない場合、 – csmckelvey