3

Java プログラムがあるとすると、 などの宣言によってオブジェクトへの参照を宣言しますString ab=new String

Java はどのようにオブジェクト指向プログラミング言語なのですか? このプログラムのどこにオブジェクトがありますか?

次の Java コードでは、オブジェクトが表示されません。こんにちはメッセージを出力するために使用されるオブジェクトがあるかどうかを知りたいです。

class a
{ 
  public static void main(String a[])
  {
    System.out.println("hello");
  }
}
4

8 に答える 8

5

nコマンドライン引数がある場合、n + 5オブジェクトがあります:

  • 文字列リテラル"hello"はオブジェクトです。
  • 配列aはオブジェクトです。
  • 配列を介してString渡されるコマンド ライン引数ごとにオブジェクトがあります。maina
  • クラスにはSystem、インスタンスがなくても、 と 、およびのstatic3 つのオブジェクトへの参照があります。outerr PrintStreamin InputStream

aクラスのインスタンスがないことに注意してください。

于 2013-10-03T20:15:32.193 に答える
3

はい、関連するオブジェクトはほとんどありません

クラスSystemには、 printlnメソッドを呼び出しているPrintStreamタイプのオブジェクトであるオブジェクト「out」があります。

String a[]

a は型のオブジェクトです: 配列 (文字列の)。

class a属性やメソッドがなくてもインスタンス化できますinstanceが、すべてが静的メソッド (メイン) であるため意味がありません。

また、オブジェクト指向であることの特徴を確認することもできます。カプセル化があり、メインメソッドを例にとると、外部から呼び出すことができます。継承、クラス a があり、実際にはすべてのクラスが少なくともルート オブジェクト クラスに継承されます: java.lang.Object

I want to know if there is any object used to print the hello message.

この場合、オブジェクト out には、String オブジェクトを受け取ってコンソールで受け取った String を渡す println メソッドが実装されています。

于 2013-10-03T20:15:48.060 に答える
1

"hello"Stringオブジェクトです。文字列オブジェクトは、Java で明示的なコンストラクター呼び出しなしで構築できます。

于 2013-10-03T20:16:59.533 に答える
1

a、、、、 main に渡される配列はSystemoutすべて java.lang.Object から派生したものです。

于 2013-10-03T20:17:02.183 に答える
1

a"hello"およびSystem.outすべてのオブジェクトです。ほとんどの新しいオブジェクトはキーワードnewで作成されますが、文字列リテラルもオブジェクトを作成します。指定されたオブジェクトaは、Java ランタイム システムによって作成され、プログラムの引数を格納します。オブジェクトSystem.outは標準ライブラリの一部です。

于 2013-10-03T20:15:39.100 に答える