Я пытался решить проблемы LinkedList через Java, но я обнаружил концепцию статического внутреннего класса, и я застрял здесь!
Мой код работает, но не мог понять, как объект статического классаСоздается
public class findNthNodeInLL {
static class Node {
int data;
Node next;
Node(int data) {
this.data = data;
next = null;
}
}
int findNthNode(Node head, int count) {
int pos = 0;
Node ptr = head;
while(ptr != null && pos != count) {
pos++;
ptr = ptr.next;
}
return ptr.data;
}
public static void main(String[] args) {
findNthNodeInLL ll = new findNthNodeInLL();
Node head = new Node(1);
head.next = new Node(2);
head.next.next = new Node(3);
head.next.next.next = new Node(4);
head.next.next.next.next = new Node(5);
System.out.println(ll.findNthNode(head,3));
}
}
Внутренний класс Object, т.е. head создается без какой-либо ссылки на внешний класс.Даже конструктор вызывается, и память создается без какой-либо ссылки на внешний класс.
Каков здесь настоящий сценарий?Что происходит?Почему мы не используем какую-либо внешнюю ссылку на класс для внутреннего конструктора или объекта?
Может быть, я что-то упустил.Пожалуйста, помогите мне понять сценарий здесь.