0

Java (私はこの言語について何も知りません) から C にいくつかのコードを移植しています。Java は C に似た言語であるため、ほとんどのステートメントを変換するのに問題はありません。しかし、コードの一部の意味がわかりません。Java クラスを関数として呼び出し、パラメーターとして渡します。

クラスを次のように仮定します。

public class foo { 
    public foo(Typex x) { //etc }
}

public class baa {
    public baa(Typex x) { //etc }
}

別のクラスからは次のように呼び出されます。new foo(baa())

どういう意味ですか?

4

3 に答える 3

2

コンストラクタといいます。こちらをご覧ください

public class Foo { 
   public foo(Typex x) { //etc }
}

public class Baa {
 public baa(Typex x) { //etc }
}

Foo f = new Foo(x);  // Creates a new instance of Foo.
Baa b = new Baa(x);  // Creates a new instance of Baa.
于 2013-04-20T00:30:05.980 に答える
2

これは間違っています !新しい foo(baa())

Javaでこれを行うことはできません。代わりに、行う必要があるのは

new foo(new baa().bar()) . 

これは、最初に baa の参照 (オブジェクト) を作成し、その参照の bar() メソッドを呼び出すことを意味します。Java の new キーワードは、クラスから新しい参照を作成することです。クラスの Constructor メソッドを呼び出し、その参照にメモリを割り当てます。

さらに上記の場合、bar() メソッドから返されたものを引数として foo クラスに渡し、次に foo クラスの参照も作成します。

これは良いスタートです: [1]: http://docs.oracle.com/javase/tutorial/java/javaOO/index.html

于 2013-04-20T00:43:05.600 に答える
0

これはコンストラクターです。新しいオブジェクトの作成を容易にするこの小さなものです。できるよ

Object Name = new Object(Param1, Param2);

それ以外の

Object Name = new Object();
Name.Param1 = foo;
Name.Param2 = bar;
于 2013-04-20T00:31:10.663 に答える