package packtwo; import packtwo.Person; import packtwo.Student; import packtwo.Teacher; public class List { class Node{ public Object data; Node next; public Node() { } public Node(Person data) { this.data=data; this.next=null; } public Node(Student data) { this.data=data; this.next=null; } public Node(Teacher data) { this.data=data; this.next=null; } } Node first=null; public List() { this.first=null; }
void cteatLinklist() { Person person=new Person("张三",12310000); Node node1=new Node(person); Student student=new Student("李四",12320000,89,93,94); Node node2=new Node(student); Teacher teacher=new Teacher("王五",12330000,3000); Node node3=new Node(teacher); first=node1; node1.next=node2; node2.next=node3;
----------person有自己写的toStr();
?????????为啥person可以调用自己的toStr();可是node1.data.toStr();就是错的???
-----
这是自己写的,输出函数,person的实例方法public void toStr()
{
System.out.println( "姓名 "+name+"\n"+"身份证号 "+IDnum);
}-----------------
}
public static void main(String[] args) { // TODO Auto-generated method stub List list=new List(); list.cteatLinklist(); }
}
我完全看不清楚你写的什么,,,下回放代码上来,注意下格式!
不然没人愿意给你看。。。。
试一下强制类型转换
((Person)node1.data).toStr();
谢谢,我一粘过来就这死样子,你说这种只是存入读出的。不用链表行吧
@邗影: 链表和顺序表各有各的好处,可惜java没有提供现成的链表(有我也不知道,你可以搜一下)。如果没必要用到链表的话 用List<T> 更好一些!