public class DLLNode{
private int data;
private DLLNode prev;
private DLLNode next;
}
Что это такое private DLLNode prev
?Внутренний класс в java в двунаправленном списке
Как класс может быть определен внутри класса?
public class DLLNode{
private int data;
private DLLNode prev;
private DLLNode next;
}
Что это такое private DLLNode prev
?Внутренний класс в java в двунаправленном списке
Как класс может быть определен внутри класса?
Это не определение класса, он определяет поле в классе типа DLLNode
.
Код, который поставляется в основном определяет класс типа DLLNode
с 3 частных полей:
integer
, именуемых data
.DLLNode
, именуемое как prev
.DLLNode
, именуемое как next
.Все это означает, что как только DLLNode
объект будет создан, он будет содержать значения 3 - 1 целое число и 2 значения адресов, где DLLNode
поля хранятся.
Это позволяет вам ссылаться на объект, даже если он находится внутри одного и того же «определения». то есть следующий код является законным:
public class DLLNode{
private int data;
private DLLNode prev;
private DLLNode next;
public int whatsNext() {
return next.data; // btw, a null check if always encouraged :)
}
}
Все, что я сделал здесь, в whatsNext
методы был заданием с next
полем и получить доступ к его data
поля. В основном, я просто спросил Java для адреса, где хранится объект типа DLLNode
(next
), а затем обратился к одному из своих полей, как если бы это были любые другие объекты.
Опять же, основная идея здесь заключается в том, что это определение простого поля как любого другого, не переопределяя сам класс.
Хорошо объяснил .thanks :) –
Счастлив помочь. Могли бы вы попросить вас вернуть благосклонность и принять мой ответ? Благодарю. –
Это уже второй раз, когда вы задаете вопрос с тем же фрагментом кода. Вы, очевидно, очень плохо знакомы с основами Java. Пожалуйста, сначала прочитайте некоторые [учебники] (https://docs.oracle.com/javase/tutorial/). – Seelenvirtuose
Дубликат: http://stackoverflow.com/questions/35533868/cant-understand-java-doubly-linked-list. –
@Seelenvirtuose да, я только что начал :) –