例如,
public class Stack<Item> implements Iterable<Item>
{
private Node first; // top of stack (most recently added node)
private int N; // number of items
private class Node
{ // nested class to define nodes
Item item;
Node next;
}
为什么我们可以在定义Node之前首先声明Node类型。此外,作为扩展,为什么实例变量总是首先声明。如果我们定义一些实例变量,然后是一些方法,然后是更多的实例变量,以及更多的方法,会发生什么。
答案 0 :(得分:1)
因为在解析整个类之前没有尝试解析。出于同样的原因,您可以调用尚未定义的类方法。
并不总是先声明实例变量。您可以按照您喜欢的任何顺序声明事物,仅受初始化顺序约束。