1。
なぜ次のコードはコンパイルされていませんか?どこが間違っているのですか?
Fooの()を見つけるので、コンパイルすることは不可能です。間違っ:フー・クラスの下で間違ったのはFoo()のパラメータを持っているの定義の後、定義されてきたが、エラーが生じFooの()パラメータなしで間違った場所、で
2。
パッケージclasstext1。 パブリック クラス宿題{ { フィールド = 200 。 } 公共 のint フィールド= 100 。 公共の宿題(int型の値){ この選択図】図= 値。 } パブリック宿題(){ } パブリック 静的 ボイドメイン(文字列[]引数){ 宿題OBJ = 新しい宿題()。 System.out.println(obj.field)。 OBJ = 新しい宿題(300 )。 System.out.println(obj.field)。 } }
結果をコンパイルします。
デフォルト値は、前に立っている人を実行する機能で定義されています。上院のコンストラクタが呼び出されている間に実行されます誰が。
3。
静的初期化ブロックは、一度だけ実行され、オブジェクトのサブタイプを作成され、静的初期化ブロック親タイプを実行します。
4。
静的メソッドは、静的なデータへのアクセスを可能にする、そして、どのようにクラスの静的メソッドアクセスインスタンスメンバー(すなわちなし追加フィールドやメソッドstaticキーワード)?
パブリック クラスSatic { 公共 静的 ボイドSatic1(SaticのN){ n.Satic2()。 } パブリック 静的 ボイドSatic2(){ System.out.printlnは( "Hello World"の)。 } パブリック 静的 ボイドメイン(文字列[]引数){ SaticのB = 新しいSatic()。 Satic1(B)。 } }
整数の2組は、明らかに真の、一つの出力虚偽の理由を出力まったく同じですか?
結果出力奇妙な、なぜ?
のみ-128と127の間の整数オブジェクト・クラスは、パッキン127、ヒープメモリ内の同じオブジェクトへの実際のポイント、(整数)129 ==(整数)129の両側(整数)== 127(整数)の後に、キャッシュを行います比較が偽であるので、参照型の後に梱包、それは、異なるオブジェクトのヒープを指し、キャッシングを行いません。ソースコード
より明瞭に見ることができます。
静的フィールドとコンストラクタ6.クラスは、クラスが作成されたオブジェクトの数を追跡することができます。これを照会するために、任意の時点でクラスを作成してください。「あなたは、オブジェクトの数を作成しました?」
パブリック クラスSatic { パブリック 静的の int型の SUM = 0 ; 公共の 静的な 無効Satic1(N-Satic){ ++ SUM; n.Satic2(); } 公共の 静的な 無効Satic2(){ System.out.printlnは( "あなたが作成しました" +和+ "オブジェクト" ); } 公共の 静的な 無効メイン(文字列[]引数){ Satic B = 新しい新しいSatic(); Satic1(B); } }