public Object clone() throws CloneNotSupportedException {
DoublyLinkedList<E> other=(DoublyLinkedList<E>) super.clone();
if(size > 0){
other.header=new Node<>(null,null,null);
other.trailer=new Node<>(null,other.header,null);
other.header.setNext(other.trailer);
Node<E> walk=header.getNext();
Node<E> otherWalk=other.header;
while (walk != trailer){
Node<E> newest=new Node<>
(walk.getElement(),otherWalk,otherWalk.getNext());
otherWalk.setNext(newest);
walk=walk.getNext();
otherWalk=otherWalk.getNext();
}
}
return other;
}
Я переопределил метод клонирования как открытый и использовал его в своем коде.
public Object deepCopy() {
Node<E> walk = header;
while (walk != trailer) {
Node<E> newNode = new Node<E>((E)
(walk.getElement()).clone(), null, null);
......
, но у него есть ошибка, которая говорит, что "clone () имеет защищенный доступ в java.lang.Object".
Я уже изменил метод клонирования как открытый в своем классе, почему он все еще защищен?