我正在将一些代码从 Java(我对这种语言一无所知)移植到 C。事实上,Java 是一种类似 C 的语言,因此我在转换大多数语句时没有问题。但我不知道代码的某些部分的含义。它调用 java 类作为函数并作为参数传递:
假设类是:
public class foo {
public foo(Typex x) { //etc }
}
public class baa {
public baa(Typex x) { //etc }
}
在另一个类中,它被称为:new foo(baa())
这是什么意思?
最佳答案
这是错误的! 新的 foo(baa())
你不能在Java中做到这一点,相反你需要做的是
new foo(new baa().bar()) .
这意味着您首先创建 baa 的引用(对象)并调用该引用的 bar() 方法。请记住 Java 中的 new 关键字是从类中创建新的引用。它调用类的构造函数方法并为该引用分配内存。
此外,在上面的情况下,它将 bar() 方法返回的任何内容作为参数传递给 foo 类,并依次创建 foo 类的引用。
这是一个好的开始: [1]:http://docs.oracle.com/javase/tutorial/java/javaOO/index.html
关于java - 将类作为函数调用是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16115270/