将一个类称为函数是什么意思?

时间:2013-04-20 00:27:38

标签: java code-conversion

我正在将一些代码从Java(我对此语言一无所知)移植到C.由于Java是一种类似C语言的事实,我在转换大多数语句方面没有问题。但我不知道代码的某些部分是什么意思。它将java类作为函数调用并作为参数传递:

假设课程为:

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

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

从另一个类中,它被称为:new foo(baa())

这是什么意思?

3 个答案:

答案 0 :(得分:2)

它被称为构造函数。见here

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.

答案 1 :(得分:2)

这是错的!     新foo(baa())

你不能用Java做到这一点,而是你需要做的是

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

这意味着您首先要创建baa的引用(Object)并调用该引用的bar()方法。请记住,Java中的新关键字是从类中创建新引用。它调用类的Constructor方法并为该引用分配内存。

此外,在上面的例子中,它将从bar()方法返回的任何内容作为参数传递给foo类,并依次创建foo类的引用。

这是一个好的开始:     [1]:http://docs.oracle.com/javase/tutorial/java/javaOO/index.html

答案 2 :(得分:0)

它是一个构造函数 - 这个小东西使得创建新对象变得更容易。你可以做到

Object Name = new Object(Param1, Param2);

而不是

Object Name = new Object();
Name.Param1 = foo;
Name.Param2 = bar;