1
ので、私はIntelliJの中で、このコードスニペットを書いた:なぜ抽象クラスをインスタンス化できますか?私はJavaで抽象クラスを理解しようとしている
AutoCloseable ac = new BufferedInputStream(new InputStream() {
@Override
public int read() throws IOException {
return 0;
}
});
@Override
とread()
スタブはIntelliJので自動的に作成されました。
InputStream
は抽象クラスなので、new
キーワードでインスタンス化するのはなぜですか?
また別のことです。私はこのようなメソッドのスタブを削除する場合:
AutoCloseable ac = new BufferedInputStream(new InputStream());
IDEはInputStream
が抽象的であるため、(予想通り)インスタンス化できないと言います。
なぜ、前者が有効で後者が無効なのですか?
このread()
はどこから来たのですか?