java言語とは何ですか?
Javaは、登場以来空前の注目を浴び、コンピュータ・携帯電話・家電製品などの分野で最も人気のある開発言語の一つとなっているオブジェクト指向プログラミング言語です。
Java 言語の特徴?
1.学ぶこと容易;
2.オブジェクト指向
3.プラットフォームの無関連性;
4.信頼性
5.セキュリティ
6.マルチスレッド対応
7.ネットワークプログラミングを支え、非常に便利です;
8.編集と解釈の共存;
オブジェクト指向とプロセス指向の違い
プロセス指向は、問題を解決するために必要な手順を分析し、関数を使用して、ステップバイステップで、これらの手順を達成するために1つ1つの順序で呼び出すために使用することです。 クラスの呼び出しがインスタンス化する必要があるため、オーバーヘッドが比較的大きく、より多くのリソースを消費するので、パフォーマンスが最も重要な考慮事項は、マイコン、組み込み開発、Linux / Unixなど、一般的にプロセス指向の開発です。しかし、プロセス指向はオブジェクト指向ほど保守、再利用、拡張が容易ではありません。
オブジェクト指向とは、問題を構成するトランザクションを個々のオブジェクトに分解することです。オブジェクトは、あるステップを完了するために作成されるのではなく、問題解決プロセスのステップ全体を通して、何かの振る舞いを描写するために作成されます。オブジェクト指向は保守、再利用、拡張が容易です。 オブジェクト指向にはカプセル化、継承、ポリモーフィズムがあるため、柔軟性が高く保守が容易な低カップリングシステムを設計することが可能です。しかし、オブジェクト指向のパフォーマンスはプロセス指向よりも低い。
Java ++
すべてオブジェクト指向言語で、カプセル化、継承、ポリモーフィズムをサポートしています、
Javaは、メモリに直接アクセスするためのポインタを提供しないため、プログラムのメモリをより安全にすることができます。
Javaのクラスは単一継承ですが、C++は多重継承をサポートしています。
Javaには自動メモリー管理メカニズムがあり、プログラマーが手動で無駄なメモリーを解放する必要がありません。
Javaアプリケーションとアプレットの違いは何ですか?
Javaアプリケーションはメインスレッドメソッドから開始します)。
アプレットアプレットは、main()メソッドを持っていない、主にブラウザのページに埋め込まれて実行したり、run()を開始する)、ブラウザに埋め込まれたこの点は、フラッシュゲームに似ています。
文字定数と文字列定数の違い
形式的には、文字定数は一重引用符で囲まれた1文字、文字列定数は二重引用符で囲まれた複数の文字です、
意味:文字列定数はアドレス値を表します。
メモリサイズ 文字定数は2バイトしか使いませんが、文字列定数は数バイト使います。
コンストラクタ コンストラクタはオーバーライドしてもしなくてもかまいません。
ConstructorConstructor をオーバーライドすることはできませんが、オーバーロードすることはできます。
オーバーロードと書き換えの違い
オーバーロード:同じクラス内で発生し、メソッド名は同じでなければなりませんが、パラメータ型は異なり、数は異なり、順序は異なり、メソッドの戻り値とアクセス修飾子は異なることがあり、コンパイル時に発生します。
上書き:親クラスと子クラスで発生、メソッド名とパラメータ・リストが同じであること、戻り値の範囲が親クラス以下であること、例外がスローされる範囲が親クラス以下であること、アクセス修飾子の範囲が親クラス以上であること。
private の場合、サブクラスはそのメソッドをオーバーライドできません。
Javaオブジェクト指向プログラミングの3つの主な機能
シール
カプセル化はオブジェクトの属性をプライベートなものにし、その属性に対して外部からアクセスできるメソッドを提供するものです。 外部からアクセスされたくない属性であれば、外部からアクセスできるメソッドを提供する必要はありません。しかし、クラスが外部からアクセスできるメソッドを提供しないのであれば、そのクラスは無意味です。
はんてん
継承とは、すでに存在するクラスの定義をベースにして新しいクラスを作成する手法です。 新しいクラスの定義では、新しいデータや新しい機能を追加したり、親クラスの機能を利用したりすることができますが、親クラスを選択的に継承することはできません。継承を使用することで、以前のコードを再利用することが非常に簡単になります。
相続について覚えておくべき3つのことをご紹介します:
サブクラスは親クラスオブジェクトのすべてのプロパティとメソッドを持ちますが、親クラスのプライベートプロパティとメソッドはサブクラスからはアクセスできません。
つまり、サブクラスは親クラスを拡張することができます。 サブクラスは、親クラスのメソッドを独自の方法で実装できます。
多形
いわゆるポリモーフィズムは、プログラム内で定義された参照変数の特定の型と参照変数を通じて発行されたメソッドコールは、プログラミング時に決定されないことを意味しますが、プログラムの実行時にのみ、つまり、参照変数は、最終的にクラスオブジェクトのどのインスタンスを指すようになり、参照変数は、クラスが実装されているメソッドである最終的にメソッドコールによって発行された、それはプログラムによって実行される必要があります実行時に決定することができます。 Javaのポリモーフィズムの2つの形式があります:継承とインターフェイス。
インターフェースと抽象クラスの違いは何ですか?
インターフェイスのメソッドはデフォルトでパブリックであり、すべてのメソッドがインターフェイスの実装を持つことはできません(Java 8からインターフェイスメソッドはデフォルトの実装を持つことができます)。
インターフェイスは、static変数とfinal変数以外の変数を持つことができません。
クラスは複数のインターフェースを実装できますが、抽象クラスは1つだけです。インターフェース自身は extends キーワードで複数のインターフェースを拡張できます。
インターフェイスメソッドのデフォルト修飾子は public で、抽象メソッドは public、protected、default の修飾子を持つことができます。
設計レベルでは、抽象化はクラスの抽象化、つまりテンプレート設計であり、インターフェースは振る舞いの抽象化、つまり振る舞いの仕様です。
注意: JDK8では、インターフェイスはインターフェイス名で直接呼び出せる静的メソッドも定義できます。実装クラスや実装は呼び出すことができません。2つのインターフェイスを同時に実装した場合、インターフェイスが同じデフォルトメソッドを定義しているので、書き直さなければなりません。