ฉันยังใหม่กับ Java และฉันพบการใช้งานรายการที่เชื่อมโยงนี้ด้านล่าง ในวิธีการหลัก เราสร้างอินสแตนซ์ LinkList ชื่อ theLinkedList และใช้ที่เราเรียกวิธี insertFirstLink 4 ครั้ง เมธอด InsertFirstLink ทำอะไรได้บ้างคือสร้างอินสแตนซ์ลิงก์ชื่อ newLink เมื่อเราเรียก insertFirstLink 4 ครั้ง
วิธีการนี้สร้างอินสแตนซ์ลิงก์ 4 รายการที่มีชื่อเดียวกัน (newLink) หรือไม่ เป็นไปได้อย่างไร? เราไม่สามารถสร้างวัตถุที่มีชื่อเดียวกันได้ใช่ไหม ฉันขาดอะไรไปฉันต้องศึกษาอะไรบ้างจึงจะเข้าใจส่วนนี้
ขอบคุณทุกคน ฉันเข้าใจปัญหาของฉัน หลังจากดำเนินการทุกครั้ง ตัวแปรลิงก์ใหม่จะถูกทำลาย แต่ตัวแปรทุกตัวที่ถูกทำลายจะมีการอ้างอิงและเหมือนกับบรรทัด เราสามารถข้ามเส้นและค้นหาโหนดที่เราต้องการได้เสมอ
public class Link {
public String bookName;
public int millionsSold;
public Link next;
public Link(String bookName, int millionsSold) {
this.bookName = bookName;
this.millionsSold = millionsSold;
}
public static void main(String[] args) {
LinkList theLinkedList = new LinkList();
theLinkedList.insertFirstLink("Don Quixote",500);
theLinkedList.insertFirstLink("A Tale of two cities",200);
theLinkedList.insertFirstLink("The Lord Of The Rings",150);
theLinkedList.insertFirstLink("Harry Potter",1000);
}
}
class LinkList {
public Link firstLink;
LinkList() {
firstLink = null;
}
public boolean isEmpty() {
return(firstLink == null);
}
public void insertFirstLink(String bookName, int millionsSold) {
Link newLink = new Link(bookName, millionsSold);
newLink.next = firstLink;
firstLink = newLink;
}
}
newLink
เป็นการอ้างอิง ท้องถิ่น ไปยังวัตถุที่สร้างขึ้นใหม่ ฉันขอแนะนำให้คุณตรวจสอบตัวแปร ประเภท และ ขอบเขต - person PM 77-1   schedule 01.09.2017newLink
จริงๆ แล้วไม่ใช่วัตถุต่อตัว เป็นตัวแปรที่เก็บ การอ้างอิง ไปยังวัตถุ ตัวแปรนั้นสามารถชี้ไปที่วัตถุ X ในช่วงเวลาหนึ่ง และต่อมาไปที่วัตถุ Y ตัวแปรนั้นสามารถชี้ไปที่วัตถุไม่ได้เลยด้วยซ้ำ นั่นคือเวลาที่ตัวแปรถูกบอกว่าเก็บการอ้างอิง null - person Milack27   schedule 01.09.2017while(currentLink != null) { currentLink.printLink(); currentLink = currentLink.nextLink; }
ตอนนี้คุณเห็นว่าตัวแปร (ตัวจัดการข้อมูลที่คุณเพิ่มลงในรายการ) ถูกทำลายไปแล้ว คุณจึงไม่สามารถรับข้อมูลได้ f จ. อันดับที่ 5 ใน LinkedList หากคุณไม่ทำซ้ำ - person Guillotine   schedule 01.09.2017