ネットワーク プログラミングという用語 ネットワークを使用してすべてのデバイスが相互に接続されている複数のデバイス (コンピューター) で実行されるプログラムを作成することを指します。 J2SE API の java.net パッケージには、低レベルの通信の詳細を提供するクラスとインターフェースのコレクションが含まれており、目前の問題を解決することに重点を置いたプログラムを作成できます。 java.net パッケージは、2 つの一般的なネットワーク プロトコルのサポートを提供します − TCP − TCP は Transmission Control Protocol の略で、2 つ
Java は、オブジェクトのデータだけでなく、オブジェクトの型とオブジェクトに格納されているデータの型に関する情報を含むバイトのシーケンスとしてオブジェクトを表すことができる、オブジェクトのシリアル化と呼ばれるメカニズムを提供します。 シリアル化されたオブジェクトがファイルに書き込まれた後、そのオブジェクトをファイルから読み取って逆シリアル化できます。つまり、オブジェクトとそのデータを表す型情報とバイトを使用して、メモリ内にオブジェクトを再作成できます。 最も印象的なのは、プロセス全体が JVM に依存しないことです。つまり、あるプラットフォームでオブジェクトをシリアライズし、まったく別の
Integer 配列、String 配列、または順序付けをサポートする任意の型の配列内の要素を並べ替えることができる単一の並べ替えメソッドを記述できればよいでしょう。 Java ジェネリック メソッドとジェネリック クラスにより、プログラマは、単一のメソッド宣言で関連するメソッドのセットを指定するか、単一のクラス宣言で関連するタイプのセットをそれぞれ指定できます。 ジェネリックは、コンパイル時に無効な型をキャッチできるコンパイル時の型安全性も提供します。 Java のジェネリック コンセプトを使用して、オブジェクトの配列を並べ替えるジェネリック メソッドを作成し、整数配列、Double
Java 2 より前の Java では、Dictionary、Vector、Stack、 などのアドホック クラスが提供されていました。 とプロパティ オブジェクトのグループを保存および操作します。これらのクラスは非常に便利でしたが、中心となる統一的なテーマが欠けていました。したがって、Vector の使用方法は、Properties の使用方法とは異なりました。 コレクションフレームワークは、次のようないくつかの目標を満たすように設計されました- フレームワークは高性能でなければなりませんでした。基本的なコレクション (動的配列、リンク リスト、ツリー、およびハッシュ テーブル) の
Java ユーティリティ パッケージが提供するデータ構造は非常に強力で、幅広い機能を実行します。これらのデータ構造は、次のインターフェースとクラスで構成されています- 列挙 ビットセット ベクトル スタック 辞書 ハッシュテーブル プロパティ これらのクラスはすべてレガシーになり、Java-2 はコレクション フレームワークと呼ばれる新しいフレームワークを導入しました。これについては、次の章で説明します。 − 列挙 Enumeration インターフェイス自体はデータ構造ではありませんが、他のデータ構造のコンテキスト内では非常に重要です。 Enumeration インターフェイスは、デ
パッケージは Java で使用され、名前の競合を防ぎ、アクセスを制御し、クラス、インターフェース、列挙、および注釈の検索/配置と使用を容易にするなどの目的で使用されます。 パッケージ アクセス保護と名前空間管理を提供する、関連する型 (クラス、インターフェース、列挙、注釈) のグループとして定義できます。 Java の既存のパッケージのいくつかは − java.lang − 基本クラスをバンドル java.io − 入力、出力関数のクラスはこのパッケージにバンドルされています プログラマーは独自のパッケージを定義して、クラス/インターフェースなどのグループをバンドルできま
インターフェイスは Java の参照型です。クラスに似ています。抽象メソッドの集まりです。クラスはインターフェースを実装することで、インターフェースの抽象メソッドを継承します。 抽象メソッドに加えて、インターフェイスには、定数、既定のメソッド、静的メソッド、および入れ子になった型も含まれる場合があります。メソッド本体は、デフォルト メソッドと静的メソッドに対してのみ存在します。 インターフェイスの作成は、クラスの作成に似ています。しかし、クラスはオブジェクトの属性と動作を記述します。インターフェイスには、クラスが実装する動作が含まれます。 インターフェイスを実装するクラスが抽象クラスでな
カプセル化 4 つの基本的な OOP 概念の 1 つです。他の 3 つは、継承、ポリモーフィズム、および抽象化です。 Java のカプセル化は、データ (変数) とデータに作用するコード (メソッド) を 1 つのユニットとしてまとめてラップするメカニズムです。カプセル化では、クラスの変数は他のクラスから隠され、現在のクラスのメソッドを介してのみアクセスできます。そのため、データの隠蔽とも呼ばれます。 . Java でカプセル化を実現するには − クラスの変数をプライベートとして宣言します。 変数値を変更および表示するパブリック セッター メソッドとゲッター メソッドを提供しま
辞書によると、抽象化 イベントではなくアイデアを扱う品質です。たとえば、電子メールの場合、電子メールを送信するとすぐに何が起こるか、電子メール サーバーが使用するプロトコルなどの複雑な詳細は、ユーザーから隠されています。したがって、電子メールを送信するには、内容を入力し、受信者のアドレスを指定して、[送信] をクリックするだけです。 同様に、オブジェクト指向プログラミングでは、抽象化は実装の詳細をユーザーから隠すプロセスであり、機能のみがユーザーに提供されます。つまり、ユーザーは、オブジェクトがどのように動作するかではなく、何を行うかについての情報を得ることができます。 Java では、A
ポリモーフィズムとは、オブジェクトが多くの形をとる能力です。 OOP でのポリモーフィズムの最も一般的な使用は、親クラス参照が子クラス オブジェクトを参照するために使用される場合に発生します。 複数の IS-A テストに合格できる Java オブジェクトはすべて、ポリモーフィックであると見なされます。 Java では、すべてのオブジェクトが独自の型とクラス オブジェクトの IS-A テストに合格するため、すべての Java オブジェクトはポリモーフィックです。 オブジェクトにアクセスする唯一の可能な方法は、参照変数を使用することです。参照変数は、1 つのタイプのみにすることができます。一度
前の章では、スーパークラスとサブクラスについて話しました。クラスがそのスーパークラスからメソッドを継承する場合、メソッドが final とマークされていなければ、メソッドをオーバーライドする可能性があります。 オーバーライドの利点は、サブクラスの型に固有の動作を定義できることです。これは、サブクラスがその要件に基づいて親クラスのメソッドを実装できることを意味します。 オブジェクト指向の用語では、オーバーライドは既存のメソッドの機能をオーバーライドすることを意味します。 例 例を見てみましょう。 ライブデモ class Animal { public void move() {
継承は、あるクラスが別のクラスのプロパティ (メソッドとフィールド) を取得するプロセスとして定義できます。継承を使用することで、情報は階層的な順序で管理しやすくなります。 他のプロパティを継承するクラスはサブクラス (派生クラス、子クラス) と呼ばれ、プロパティが継承されるクラスはスーパークラス (基底クラス、親クラス) と呼ばれます。 拡張キーワード 延長 クラスのプロパティを継承するために使用されるキーワードです。以下は extends キーワードの構文です。 構文 class Super { ..... ..... } class Sub extends Supe
この章では、Java の内部クラスについて説明します。 ネストされたクラス Java では、メソッドと同様に、クラスの変数も別のクラスをメンバーとして持つことができます。 Java では、別のクラス内にクラスを記述することが許可されています。内部で記述されたクラスは、ネストされたクラスと呼ばれます 、内部クラスを保持するクラスは 外部クラス と呼ばれます . 構文 以下は、ネストされたクラスを記述するための構文です。ここでは、クラス Outer_Demo は外部クラスであり、クラス Inner_Demo ネストされたクラスです。 class Outer_Demo { class
例外 (または例外イベント) は、プログラムの実行中に発生する問題です。 例外の場合 プログラムの通常の流れが中断され、プログラム/アプリケーションが異常終了することが発生します。これは推奨されません。したがって、これらの例外を処理する必要があります。 例外は、さまざまな理由で発生する可能性があります。以下は、例外が発生するいくつかのシナリオです。 ユーザーが無効なデータを入力しました。 開く必要のあるファイルが見つかりません。 通信中にネットワーク接続が失われたか、JVM のメモリが不足しています。 これらの例外には、ユーザー エラーが原因のもの、プログラマー エラ
java.io パッケージには、Java で入出力 (I/O) を実行するために必要になる可能性があるほぼすべてのクラスが含まれています。これらすべてのストリームは、入力ソースと出力先を表します。 java.io パッケージのストリームは、プリミティブ、オブジェクト、ローカライズされた文字など、多くのデータをサポートしています。 ストリーム ストリームは一連のデータとして定義できます。ストリームには 2 種類あります − 入力ストリーム − InputStream は、ソースからデータを読み取るために使用されます。 アウトプットストリーム − OutputStream は、宛先に
Java メソッドは、操作を実行するためにグループ化されたステートメントのコレクションです。 System.out.println() を呼び出すとき たとえば、コンソールにメッセージを表示するために、システムは実際にいくつかのステートメントを実行します。 ここでは、戻り値の有無にかかわらず独自のメソッドを作成する方法、パラメーターの有無にかかわらずメソッドを呼び出す方法、およびプログラム設計にメソッドの抽象化を適用する方法を学習します。 作成方法 メソッドの構文を説明するために次の例を検討します- 構文 public static int methodName(int a, int
Java には、正規表現によるパターン マッチング用の java.util.regex パッケージが用意されています。 Java の正規表現は Perl プログラミング言語に非常に似ており、習得が非常に簡単です。 正規表現は、パターンに保持された特殊な構文を使用して、他の文字列または文字列のセットを照合または検索するのに役立つ特別な文字列です。テキストやデータの検索、編集、または操作に使用できます。 java.util.regex パッケージは、主に次の 3 つのクラスで構成されます − パターン クラス − パターン オブジェクトは、正規表現のコンパイル済み表現です。 Patter
Java は Date を提供します java.util で利用可能なクラス パッケージの場合、このクラスは現在の日付と時刻をカプセル化します。 Date クラスは、次の表に示すように 2 つのコンストラクターをサポートしています。 Sr.No. コンストラクターと説明 1 日付( ) このコンストラクターは、現在の日付と時刻でオブジェクトを初期化します。 2 日付 (長いミリ秒) このコンストラクターは、1970 年 1 月 1 日の午前 0 時から経過したミリ秒数に等しい引数を受け入れます。 以下は日付クラスのメソッドです。 Sr.No. 方法と説明 1
Java はデータ構造、配列を提供します 、同じ型の要素の固定サイズの順次コレクションを格納します。配列はデータのコレクションを格納するために使用されますが、多くの場合、配列を同じ型の変数のコレクションと考える方が便利です. number0、number1、...、number99 などの個々の変数を宣言する代わりに、numbers などの 1 つの配列変数を宣言し、numbers[0]、numbers[1]、および ...、numbers[99] を使用して表現します。個々の変数 このチュートリアルでは、配列変数を宣言し、配列を作成し、インデックス付き変数を使用して配列を処理する方法を紹
Java プログラミングで広く使用されている文字列は、一連の文字です。 Java プログラミング言語では、文字列はオブジェクトとして扱われます。 Java プラットフォームは、文字列を作成および操作するための String クラスを提供します。 文字列の作成 文字列を作成する最も直接的な方法は、次のように書くことです − String greeting = Hello world!; コード内で文字列リテラルが検出されるたびに、コンパイラはその値を持つ String オブジェクトを作成します。この場合は Hello world! です。 他のオブジェクトと同様に、 new キーワー
Java