如何制作不同类的链表?

时间:2017-02-13 03:32:04

标签: java oop inheritance linked-list

我对Java和面向对象编程相对较新。我正在学习继承和OOP。我有这个1级,比方说自行车,它有一般信息。然后我有这些其他类,比如Sports and Road,它扩展了Bike,但我想制作这些类的链接列表。所以我会有一个包含体育和道路的链表。但我不确定如何实现这一目标。我知道如何基于一个类而不是多个类创建链表。感谢。

2 个答案:

答案 0 :(得分:1)

只需创建基类的LL并添加所需的元素。

import java.util.*;

public class ans{
    public static void main(String[] args){
    LinkedList<Parent> list = new LinkedList<Parent>();

    list.add(new ChildA());
    list.add(new ChildB());
    list.add(new Parent());

    for(Parent p: list)
        System.out.println(p);
    }
}

class Parent{
    public String toString(){
    return "I am a Parent";
    }
}

class ChildA extends Parent{
    public String toString(){
    return "I am a ChildA";
    }
}

class ChildB extends Parent{
    public String toString(){
    return "I am a ChildB";
    }
}

输出

I am a ChildA
I am a ChildB
I am a Parent

答案 1 :(得分:0)

由于Bike是超类,Bike of Bike类型可用于存储其子类的对象。像这样的东西

Road r1=new road();
Road r2=new road();
Sports s1=new Sports();
Sports s2=new Sports();
List<Bike> bikeType=new ArrayList<Bike>();
bikeType.add(r1);
bikeType.add(r2);
bikeType.add(s1);
bikeType.add(s2);