java - 将类作为函数调用是什么意思?

标签 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())

这是什么意思?

最佳答案

这是错误的! 新的 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/

相关文章:

java - FAB 按钮未显示在嵌套 ScrollView 上

java - 使用归并排序对数组索引进行排序

java - 程序在我的方法之一中找不到符号

java - Redis 仍然返回 null 条目,即使它们已过期

c++ - 相当于opencv中matlab的 "ismember"?

java - 为Android开发phonegap cordova 2.2.0插件时出错

java - 在 java 中转换 MFC 桌面应用程序 GUI

python - 将 Ruby 中的 json 响应移植到 Python

javascript - 将自定义消息身份验证代码从 Java 转换为 JavaScript

python - C 到 Python 代码转换(打印类似地址的值)