1日あたり10問の面接質問(1日目)

1.オブジェクト指向機能の特徴は何ですか?

1)カプセル化:カプセル化はデータとプロセスをラップすることであり、ユーザーはオブジェクトのプロパティとメソッドのみを認識して使用でき、オブジェクトの特定の実装を知りません。オブジェクトの外部のデータには自由にアクセスできません。カプセル化されたオブジェクト内でその構造または実装を変更できます。オブジェクトのインターフェースが変更されていない限り、残りのコードを処理する必要はありません。これにより、エラーの場所が特定され、プログラムの保守性が大幅に向上し、エラーのチェックと修正の困難さが軽減されます。

2)継承:継承は、関連するクラスで構成される階層モデルです。クラスを再利用でき、共通性を表現する方法を提供します。つまり、元のクラスの派生クラス(子クラス)は、基本クラス(親クラス)からメソッドとインスタンス変数を継承でき、クラスは新しいメソッドを変更または追加してそれを作成できます。特別なニーズにより適しています。これにより、新しいクラスの設計プロセスが大幅に簡略化されます。

3)ポリモーフィズム:ポリモーフィズムとは、親クラスで定義された属性とメソッドがサブクラスによって継承され、さまざまなデータ型やさまざまな動作を示すことができるということです。ポリモーフィズムには、パラメトリックポリモーフィズムと包含ポリモーフィズムが含まれます。Javaエディターは、渡されたパラメーターに基づいて自動的に判断し、ランタイムオブジェクトのタイプに応じて異なる操作を実行します。これにより、同じ名前のアプリケーション関数の問題が解決されます。ポリモーフィズムは、オブジェクトのコンテンツを充実させ、オブジェクトの適応性を拡張し、オブジェクトの単一継承の関係を変更します。

2. public、private、およびprotected修飾子の範囲、および修飾子を記述しない場合の違いは何ですか?

1)public修飾子を使用する変数とメソッドは、現在のクラス、同じパッケージクラス、子孫クラス、および外部委託クラスを含む任意のクラスでオブジェクトを作成した後でアクセスできます。

2)保護された修飾子を使用する変数とメソッドは、外部委託されたクラスによって作成されたオブジェクトにアクセスできません。

3)修飾子を記述しない変数とメソッドはデフォルトのクラスであり、同じパッケージ内のクラスによって作成されたオブジェクトにのみアクセスできます。

4)private修飾子を使用する変数とメソッドは、現在のクラスでのみ使用できます。

3. Stringは最も基本的なデータ型ですか?

いや

Java言語のデータ型は、基本データ型と参照データ型の2つのカテゴリに分類されます。

基本的なデータタイプは次のように分類されます。

整数型:バイト型(バイト)、短整数(短)、整数(整数)、長整数(長)

浮動小数点型:単精度(float)、倍精度(double)

キャラクター(char)

論理(ブール)

参照データ型は次のように分類されます。

インターフェース、オブジェクト、クラス、配列、文​​字列、コレクションなど

4. float型float f = 3.4は正しいですか?

不正解です。

暗黙的な変換、つまり自動変換であり、小規模から大規模への変換です。

byte-》 short-》 int-》 long-》 float-》 double

char-》 int-》 long-》 float-》 double

これはステートメントを必要とせず、システムのデフォルトです。

明示的な変換、つまり強制変換。大から小への変換で、その形式は次のとおりです。

タイプ変数=(タイプ)変数2;

Javaでは、小数点のないデフォルトはintで、小数点のあるデフォルトはdoubleで、次のように記述します。

float f =(float)3.4またはfloat f = 3.4 f

5.ステートメントfloat f = 1.3;コンパイルは成功しますか?

できません。

理由は上記と同じです。強制的で、float f =(float)1.3またはfloat f = 1.3 fのように記述する必要があります

6. short s1 = 1; s1 = s1 + 1; short s1 = 1; s1 + = 1;の何が問題になっていますか;

短いs1 = 1; s1 = s1 + 1;間違っている

Java仕様には、次のようなルールがあります。1.高ビットから低ビットへの強制変換が必要です。2.低ビットから高ビットへの自動転送。

iはint型、s1はshort型、s1は1つの演算を追加すると自動的にint型に変換されるため、強制変換

短いs1 = 1; s1 + = 1;正しい

このタイプのアップグレードは行われないと、JAVA仕様は述べています。

e1 + = e2は、実際にはe1 =(T1)(e1 + e2)です。T1はe1のデータ型です。

s1 + = 1はs1 =(short)(s1 + 1)と同等であるため、正しいです。

7. Javaは使用できますか?

いや

gotoおよびconstはJavaでは予約語であり、現在Javaでは使用されていません。

8. intとIntegerの違いは何ですか?

1)整数はnullにすることができますが、intはできません。

2)ジェネリックには整数を使用できますが、intは使用できません。

3)intはスタックに直接格納される特定の値であり、Integerはヒープに値を格納するための参照であるため、intはIntegerよりも効率的です。

4)2つの整数の値は同じにすることができますが、等しくはありません。

5)自動ボックス化(元のデータ型が参照データ型に変換される)および自動ボックス化解除(参照データ型が元のデータ型に変換される)

9.&と&&の違いは何ですか?

演算子「&&」は簡潔なand演算子であり、演算子「&」は非簡潔なand演算子であり、その違いは次のとおりです。

1)演算子「&&」は、左側がtrueの場合にのみ右側の論理式を計算します。それ以外の場合は、演算結果falseを直接返します。

2)演算子 "&"が左側でtrueまたはfalseであるかどうかにかかわらず、右側で論理式を計算し、最後に演算結果を返す必要があります。

10.論理演算(&、|、^)と条件付き演算(&&、||)の違いを簡単に説明してください。

1)条件付き演算はブール型のみを操作でき、論理演算はブール型だけでなく数値型も操作できます

2)論理演算は短絡を引き起こしません。

元の記事を23件公開 賞賛された39件 2704を訪問

おすすめ

転載: blog.csdn.net/abc701110/article/details/105500452