南山一石 2015-02-25 15:31 采纳率: 0%
浏览 2637

请问成员变量的数据类型为什么可以是该类自身,如下,谢谢!

public class BinaryTree {

class TreeNode {

    private String data;

    private TreeNode leftNode;

    private TreeNode rightNode;

    public TreeNode(String data, TreeNode leftNode, TreeNode rightNode) {

        this.data = data;

        this.leftNode = leftNode;

        this.rightNode = rightNode;

    }

    public String getData() {

        return data;

    }

    public void setData(String data) {

        this.data = data;

    }

    public TreeNode getLeftNode() {

        return leftNode;

    }

    public void setLeftNode(TreeNode leftNode) {

        this.leftNode = leftNode;

    }

    public TreeNode getRightNode() {

        return rightNode;

    }

    public void setRightNode(TreeNode rightNode) {

        this.rightNode = rightNode;

    }

}
}
  • 写回答

2条回答

  • threenewbee 2015-02-25 15:38
    关注

    因为编译一个类型的时候不需要预先知道这个类型的信息。
    从需求上来说,一个对象的部分也是这个对象,这是很正常的。

    类似的,函数的实现中可以包含对自身函数的调用,这个叫递归。
    比如
    int sum(int x)
    {
    if (x == 1) return 1;
    return sum(x - 1) + x;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码