java和一个新概念让我很困惑.
作为一个c ++程序员,当我们声明一个类时,我们不能拥有一个具有相同类对象的属性,比如说我们有一个类名Foo如下
class Foo {
int age;
Foo someName;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码会给出错误.虽然在java中我可以做到.它背后有特殊原因吗?它是如何发生的.任何好的阅读都会有所帮助.
NPE*_*NPE 12
当您Foo someName使用Java 编写时,您将创建对类型对象的引用Foo.这类似于Foo& someName用C++ 编写,这是允许的.
C++中不允许的是类Foo具有类型的成员Foo(即不是Foo&或Foo*).如果你考虑一下,这个结构不可能有意义,因为它需要sizeof(Foo)无限大.这个 - 不允许 - C++构造没有直接的Java等价物.
| 归档时间: |
|
| 查看次数: |
274 次 |
| 最近记录: |