public class LinkedListStructs {
public LinkedList l1 = new LinkedList();
public LinkedListStructs(){
ListNode h1 = new ListNode(4);
ListNode h2 = new ListNode(3);
ListNode h3 = new ListNode(12);
ListNode h4 = new ListNode(9);
ListNode h5 = new ListNode(9);
ListNode h6 = new ListNode(4);
l1.head = h1;
h1.next = h2;
h2.next = h3;
h3.next = h4;
h4.next = h5;
h5.next = h6;
}
}
然后我在其他类扩展这样的:扩展Java中的类不初始化
public class Tester extends LinkedListStructs{
public void removeDupsTest(){
l1.printList();
l1.removeDups();
l1.printList();
}
}
我没有初始化的LinkedListStructs
一个新的实例。我的问题是,当我扩展一个类时,是否会自动创建一个实例?
我很困惑,因为我在测试类中使用LinkedList l1
,但对象本身需要一个构造函数初始化为您3210
所以你们看到,它是如何工作的?如果我不创建一个实例,初始化链表的属性,那么如何使用它?
感谢
子类可以访问超类的所有“public”和“protected”字段。 – 4castle
当你初始化你的子类时,你的超类首先被初始化! –
您不应使用与广泛使用的标准API类型相匹配的非限定类型名称。此外,如果你实现了一个列表或其他容器类型,那么你应该对它所包含的类型进行泛化。 –