11. 抽象クラスには抽象メソッドが必要ですか?
いいえ、抽象クラスには必ずしも抽象メソッドが必要というわけではありません。
サンプルコード:
abstract class Cat { public static void sayHi() { System.out.println("hi~"); } }
上記のコードでは、抽象クラスには抽象メソッドがありませんが、正常に実行できます。
(学習ビデオの推奨: java ビデオ チュートリアル)
12. 通常のクラスと抽象クラスの違いは何ですか?
通常のクラスには抽象メソッドを含めることはできません。また、抽象クラスには抽象メソッドを含めることができます。
抽象クラスは直接インスタンス化できませんが、通常のクラスは直接インスタンス化できます。
13. 抽象クラスはfinalで変更できますか?
いいえ、抽象クラスの定義は他のクラスが継承するためのものです。final として定義されている場合、クラスは継承できず、相互に競合が発生するため、次のように、final は抽象クラスを変更できません次の図では、エディターでエラー メッセージも表示されます:
#14. インターフェイスと抽象クラスの違いは何ですか?
実装: 抽象クラスのサブクラスは継承に extends を使用し、インターフェイスはインターフェイスを実装するためにimplements を使用する必要があります。
コンストラクター: 抽象クラスにはコンストラクターを含めることができますが、インターフェイスにはコンストラクターを含めることはできません。
Main メソッド: 抽象クラスは main メソッドを持つことができ、それを実行できますが、インターフェイスは main メソッドを持つことができません。
実装の数: クラスは多くのインターフェイスを実装できますが、継承できる抽象クラスは 1 つだけです。
アクセス修飾子: インターフェイス内のメソッドはデフォルトで public によって変更されます。抽象クラスのメソッドは任意のアクセス修飾子を持つことができます。
15. Java には何種類の IO ストリームがありますか?
関数ごとに分割: 入力ストリーム (入力)、出力ストリーム (出力)。
バイト ストリームと文字ストリームのタイプ別に分かれています。
バイトストリームとキャラクタストリームの違いは、バイトストリームは8ビット伝送でバイト単位でデータの入出力を行うのに対し、キャラクタストリームは16ビット伝送でキャラクタ単位でデータの入出力を行うことです。
16.BIO、NIO、AIO の違いは何ですか?
BIO: ブロック IO 同期ブロッキング IO は、私たちが通常使用する従来の IO で、シンプル モード、使いやすさ、同時処理能力の低さが特徴です。
NIO: 新しい IO 同期ノンブロッキング IO は、従来の IO をアップグレードしたもので、クライアントとサーバーは Channel (チャネル) を介して通信し、多重化を実現します。
AIO: 非同期 IO は、非同期ノンブロッキング IO を実装する NIO (NIO2 とも呼ばれる) のアップグレードです。非同期 IO 操作は、イベントとコールバック メカニズムに基づいています。
17. ファイルの一般的なメソッドは何ですか?
Files.exists(): ファイルパスが存在するかどうかを確認します。
Files.createFile(): ファイルを作成します。
Files.createDirectory(): フォルダーを作成します。
Files.delete(): ファイルまたはディレクトリを削除します。
Files.copy(): ファイルをコピーします。
Files.move(): ファイルを移動します。
Files.size(): ファイルの数を表示します。
Files.read(): ファイルを読み取ります。
Files.write(): ファイルを書き込みます。
推奨チュートリアル: Java の一般的な面接の質問
以上が2020 年の新しい Java 面接の質問 - 基本パート (2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。