关于如何调用节点的问题在Java中工作

时间:2016-08-23 21:55:09

标签: java binary-search-tree

我想要澄清一些我理解的是正确与否的。

  1. 当我打电话给" Node"作为类中的数据类型,它引用它 作为我班级的对象" Node"
  2. 当我使用" Node"作为类外的数据类型(Ex - Node root) 它说它只接受" Node"的数据类型。它也没有 效果 Node类本身,因为它不是它的变量之一
  3. 当你创建一个" Node"它在类之外的变量 继承所有类字段(key,name,leftChild,rightChild)
  4. 有人曾经直接告诉我打电话给班级(" Node") 在某种程度上快速形式 - 这有多少是真的?

    示例 - 节点node = new Node();

  5. 注意 - 这些是二进制搜索树的代码段代码

    Node root;
    
    class Node
    {
        int key;
        String name;
    
        Node leftChild;
        Node rightChild;
    
        Node(int key, String name)
        {
            this.key = key;
            this.name = name;
        }
    
        public String toString()
        {
            //year //team name
            return key + " - " + name;
        }
    
    }
    

1 个答案:

答案 0 :(得分:0)

  
      
  1. 当我将“Node”称为类中的数据类型时,它将其称为我的类“Node”的对象

  2.   
  3. 当我使用“Node”作为类外的数据类型(Ex - Node root)时,它说它只接受“Node”的数据类型,它也不会   影响Node类本身,因为它不是其变量之一Node root - 声明类型为n的变量Node

  4.   

我稍后会去#1,但我想专注于这个陈述

  

它不会影响Node类本身

不,没有什么会影响班级,因为班级没有任何状态。变量的实例可以,例如rootleftChildrightChild。其中每个都是一个Node类的实例。更新一个不会影响其他人。

  
      
  1. 当您在其类之外创建“Node”变量时,它会继承所有类字段(key,name,leftChild,rightChild)
  2.   

不确定“inherit”是什么意思,但那些是Node实例的成员变量(或字段),所以当然,它们是实例的属性/属性,你可以说“继承” “,但不要将它与面向对象编程中的”继承“的实际术语混淆。

  
      
  1. 有人曾经直接告诉我,打电话给班级(“节点”)是一种快速的做法 - 有多少是真的?
  2.   

快速形式是什么? Node n;Node n = new Node(); 相同。后者初始化变量,前者仅声明。

使用new Node()不是“调用类”,而是“构造一个类”,因为你是“调用构造函数”。所以,回到#1,是的,这似乎是一个有效的陈述。