如下面代码所示(关于链表的代码): Node类是用来定义链表当中的节点, LinkedList是用来对Node类做出操作的。 为什么不把Linkedlist当中的类放在Node中,而是用了一个新类, 我知道这么做肯定是好的,但是我不知道为什么这么做, 以及下次写代码的时候到底是直接在需要使用的下面添加方法,还是添加一个新类。 public class SingleLinkedList { public static void main(String []args) { LinkedList ll = new LinkedList(); Node n1 = new Node(1,"ff"); Node n2 = new Node(2,"ss"); ll.add(n1); ll.add(n2); ll.show(); } } class LinkedList {//操作Node类 private Node head = new Node(0,""); public void add(Node n) { Node temp = head; while(true) { if(temp.next == null) break; temp = temp.next; } temp.next = n;//直接添加数据 } public void show() { Node temp = head; while(temp.next != null) { temp = temp.next; System.out.println(temp); } } } class Node {//链表类 public int id; public String name; public Node next;//java没有指针 public Node(int id , String name ) { this.id = id ; this.name = name; } public String toString() { return "id = " + id + " name = " + name; } }
node 是个实体类,对应数据库的对象的,linkedlist的类是个方法类(干什么的类);实体中只定义属性以及get/set/构造等方法,不干别的。这样干有利于后面的面向接口编程。如果你都定义到一个类中的话。别的地方也调用你的这个类中的方法。当你修改的时候会影响到别人的代码。而且建议类不过千
为什么不把Linkedlist当中的。方法。放在Node中,而是用了一个新类,(有个字打错啦)