因为像Circle或Square这样的典型节点是Node类的实例,而Pane是Parent的子类,而Parent是Node的子类,因此,从技术上讲,用作根节点的Pane类的实例是一个单独的节点。我错了吗?
答案 0 :(得分:2)
类Pane
的对象将始终是Node
的实例,因为Pane是Node的子类
Class Pane :
java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
这意味着:
p instance of Node
是p
时,Pane
将为真Node p = new Pane();
没事答案 1 :(得分:0)
我明白你在想什么。您要问Pane的继承层次结构类是否都随Pane一起浮动。答案是否定的,不是,是的,它是单个节点。
实例化继承层次结构时,假设每个父级中的所有代码和子级中的代码(在您的情况下为Pane)都被拼凑成一个类,则可以通过调用Pane()进行实例化。
这是一个很大的二进制blob,包含所有父代的所有成员和方法。
Java语言API可让您将其视为三个不同的对象,从某种意义上来说,您可以将其向下推到层次结构中并创建对它的引用,这些引用位于层次结构中较高的位置,并且通常将其“好像”节点在任何给定时间都是容器和窗格。
但是只创建一个Java对象的实例。如果这是一个内部阶级,那么除外。如果实际上有一个内部类,则该内部类将作为单独的顶级对象创建-它是自己的二进制对象。
HTH