繁体   English   中英

java中该类内部类的实例

[英]instance of a class inside that class in java

在这里,我宣布同一类中的类动物实例。 在c中它被认为是一个错误:

struct demo{
        int anyvar;
        struct demo anyvar1;
};

因为它应该是一个无限的声明循环。

然后,为什么Java中允许这个代码?

class Animal{
    Animal object1 = new Animal();

    public static void main(String[] args)
    {     
            Animal obj = new Animal();
            obj.dostuff();
    }

    public void dostuff()
    {
           System.out.println("Compiles");
           object1.dostuff();
    }

    public void keepdoingstuff()
    {
             System.out.println("Doing Stuff...");

             object1.keepdoingstuff();
    }
}

因为在Java中你声明一个包含引用值的变量; 一个指针。

这就像做:

struct demo{

    int anyvar;
    struct demo *anyvar1;
};

java中的所有对象都是在堆上创建的,并且使用new关键字显式创建它们。

public class Node
{
   Node next;
   String value;

   public Node() { ... }

   ...
}

nextvalue在实例化Node对象时自动初始化为null ,并且将保持为null ,直到为它们分配引用值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM