JavaEEベースの顔の質問0

2019年7月30日
差1.javaおよびC ++?
カプセル化、継承をサポートしており、多型のオブジェクト指向言語であり
、Javaは直接メモリにアクセスするための指針を提供していませんが、プログラムメモリよりセキュアな
Javaクラスである単一継承、C ++は多重継承をサポートしていないJavaクラス多重継承ものの、インターフェイスは多重継承することができますが
、Javaは自動メモリ管理機構を備えている、プログラマは手動で無駄にメモリを解放する必要はありません。

--------------メインクラス「クラス2.javaメインプログラムのエントリポイントJavaプログラムが実行されます。
メインアプリケーションクラス:
このクラスは、メインクラスはメインクラスのmain()メソッドは、必ずしも公共クラス必要とされないことを含む意味である
:メインアプレットクラス
これは、システムまたはアプレットクラスJAppletのからメインクラスのサブクラスであります、メインクラスに必要なアプレットクラスは、パブリックでなければなりません

概要:単にアプリケーションがメインスレッドから(つまり、main()メソッドで)開始されました。アプレットは、主に(INIT()またはスレッドの実行を()呼び出しを開始するために)ブラウザのページの実行中に埋め込まれた主な方法、ではありません

3.継承感謝
継承は技術の新しいクラスを確立するための基礎として、既存のクラスを使用して定義され、新しいクラスの定義は、新しいデータや新しい機能を追加することができ、親クラスの機能かもしれないが、選択的に継承することはできません親。
継承を使用することにより、我々は簡単に、以前のコードを再利用することができます。
親クラスがのないプライベートなプロパティとメソッドがあり、サブクラス
のサブクラスは、サブクラスは親クラスを拡張することができ、自分の属性とメソッドを持つことはできません。
親クラスが独自の方法で実装することができサブクラスです。------オーバーライド

4.多型を理解し
、プログラムによって動作時に決定する必要があります。
Javaで実装することができる2つの多形が存在する:継承とインターフェース(インターフェースと同じ被覆方法を達成するためのインターフェイス)(Sサブクラスは、同じメソッドをオーバーライドします)。

パッケージは理解
方法のいくつかの特性が外部アクセスできるが、オブジェクトの属性のパッケージ民営化

6.なし基準設定はことを理解しない
パラメータを指定せずに、Javaプログラムは、特定の親クラスのコンストラクタを呼び出すために、スーパー()を使用せずに、メソッド実行サブクラスを構築する前に、親クラスのコンストラクタと呼ばれる
場合、親クラスのみこれは、サブクラスのコンストラクタで、コンストラクタはパラメータを有し定義し、特定のコンストラクタ親クラスを呼び出すために、スーパー()を使用しない場合、コンパイル時エラーが発生します

サブクラスのコンストラクタを呼び出す前に、引数なしのコンストラクタは、最初のサブクラスは、最初の仕事をするために助けて」-------親クラスを呼び出します!

任意の異なる7.静的およびインスタンスメソッド
の外側上の静的メソッドを呼び出すとき、あなたは「クラス名。メソッド名」アプローチを使用することができます、また、「オブジェクト名。メソッド名」のアプローチを使用することができます。そして、唯一の方法は、後者の方法の例。言い換えれば、あなたはオブジェクトを作成せずに静的メソッドを呼び出すことができます。
クラスメンバーにアクセスするには、この静的メソッドにアクセスインスタンス変数とインスタンスメソッド部材を許可せず、(すなわち、静的メンバ変数と静的メソッド)のみスタティックメンバへのアクセスを許可し、インスタンスメソッドは、この制限を持っていません。

。== 8とequals()
==:その役割は、ターゲットアドレスが2に等しくないかを決定することです。つまり、オブジェクトが同じオブジェクトではありません決定されます。(==基本データ型が比較基準データタイプ、値比較である==メモリアドレス)
等号():その役割は、2つのオブジェクトが等しいかどうかを決定することです。:一般的には2つの場合に使用される
ケース1:いいえカバークラスのequals()メソッド。クラスの2つのオブジェクトを比較する等号()を介して、2つのオブジェクトを比較するために、「==」と等価です。
ケース2:クラスは、等号()メソッドをオーバーライドします。(すなわち、2つのオブジェクトが等しいと見なされている)、その内容が等しい場合、trueを返し、一般に、我々は、等号()メソッドは、2つのオブジェクトの内容と同じであるカバー。

9.hashCode()とequals()
アクションのhashCode()ハッシュコードを取得することも、ハッシュ・コードと呼ばれ、それは実際にint型の整数を返します。このハッシュ・コードの役割は、ハッシュテーブル内のオブジェクトのインデックス位置を決定することである
JDK Object.javaで定義されているハッシュコードを()、これは、任意のJavaクラスは、ハッシュコード()関数が含まれていることを意味します。
両方の関連規定:
1. 2つのオブジェクトが等しい場合、また同じハッシュコードである必要があり
、各二つのオブジェクトのために、2つのオブジェクトが等しいtrueにメソッド呼び出しが戻ると等しい
3.ハッシュコード2つのオブジェクトが同じ値を持って、彼ら(負荷率を超え、一緒に列に同じハッシュ値リスト赤黒木構造になってストレージ構成)必ずしも等しくない
メソッドをオーバーライドし、この方法は、ハッシュコード被覆されている必要があり、従って4に等しい
5。デフォルトの動作のhashCode()は、ヒープ上のオブジェクトに固有の値を作成することです。ならないオーバーライドのhashCode()、次いで、2つのオブジェクトが(これら2つのオブジェクトが同一のデータを指していても)とにかく同じクラスではありません

10. JAVAのみが値によって渡されるのはなぜ?
(参照渡し)参照渡しする関数を呼び出す際に、直接関数に渡される実引数を扱うことを意味し、その後に行わパラメータを変更するには、それが機能で実際のパラメータに影響を与えます。
値の転送は、(値渡し)関数で変更パラメータは、実際のパラメータに影響を与えない場合に、実際のパラメータが関数に渡された関数のコピーを呼び出すときをいいます。
したがって、差分値が渡され、コンテンツを配信参照によって渡されません。しかし、最終的に仮パラメータのコピーすべき引数はありません。
だから、Javaまたは実際には、値が、唯一のオブジェクトパラメータで渡された、コンテンツの値は、オブジェクト参照されています。(であることに注意してください参照)
概要:
それは値渡しか参照渡しされているかどうかを、実際には、評価戦略(評価戦略)の一種です。評価戦略では、(共有することで呼び出す)転送で共有と呼ばれるものがあります。
実際には、厳密な意味を渡したJavaパラメータが転送によって共有されなければならないと言います。

(スタック上の引数は、値を直接コピーされている場合)の送信によって機能を呼び出すときに意味の共有、コピー機能は、アドレスの引数に渡されます。内部パラメータの機能では、特定の値、そして操作を見つけるために、アドレスをコピーする必要があります。スタック内の値ならば、それは価値の直接のコピーであるため、内部パラメータ関数の動作は、外部変数には影響を与えません。スタック内のアドレスの元の値の原本、先に進む前に、アドレスに基づいて、スタックに対応する場所を見つけるために、次に必要がある場合。それは外部変数に転送されるので、アドレス値にコピー機能の動作中に表示されています。

簡単に言えば、Javaが渡され、値によって渡され、この値は実際にオブジェクトを参照されます。
そして、実際には、ただ唯一の特殊なケースを共有することで渡された値によって渡されます。だから我々は、転送がJavaのシェアの配信に基づいて、またはJavaでの配信が値によって渡されると言うことができます。

特別な事情の11次の4つの種類が、finallyブロックは実行されません!
1.異常がfinallyブロックで発生しています。
プログラムを終了するためにSystem.exit()と前のコード2.。
3.プログラムは、スレッドの死に位置しています。
4. CPUを閉じます。

12.Javaのシリアル化は、いくつかのフィールドには、どうすればよいシリアライズしたくない場合は
、キーワードの過渡修正を使用して、変数をシリアル化したくない人。
transientキーワードの役割は:このキーワード修正連載でそれらの変数のインスタンスを停止し、オブジェクトが直列化復元されたときに、過渡的に変更変数の値が持続し、回復されていません。
過渡は変数だけ、クラスを変更することができ、および方法を変更することはできません

13.一般的なキーボード入力の二つの方法入手
方法1:スキャナ
スキャナスキャナ新しい新しいINPUT =(System.in);
文字列input.nextLine S =();
input.close();
方法2:BufferedReaderの
BufferedReaderの入力をBufferedReaderの新しい新=(InputStreamReaderの新しい新しい(System.in));
文字列input.readLine S =();

 

おすすめ

転載: www.cnblogs.com/slfeng/p/11268927.html