Java高级语法笔记-模板类
生活随笔
收集整理的這篇文章主要介紹了
Java高级语法笔记-模板类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模板類
模板類用與表示通用的數據結構和算法。
例如,定義一個類List,表示通用鏈表(適用于任意對象的類型)
定義模板類:
class List<T>{
}
使用模板類:創建List對象時應指定參數類型
List<Student> stus=new List<Student>();
注意:并不是非常必要。
以為所有的對象都是Object的子類。
把所有子類換成Object就可以了。
注:Java的模板類屬于類,而C++屬于模板
似乎在任何情況下,都沒必要自己寫一個模版類
1.Java自帶了ArrayList,HashMap等模版類。
2.直接使用Object作為元素類型。
ObjectList.java package my;import my.PeopleList.LinkNode;public class ObjectList {LinkNode head;LinkNode LinkList;class LinkNode{public Object Data;public LinkNode next;}public void initList() {LinkNode p=new LinkNode();head=p;head.next=null;}public void add(Object a) { //頭插法LinkNode p=new LinkNode();p.Data=a;LinkNode q=head;p.next=q.next;q.next=p; }}
Teacher.java
package my;public class Teacher {private int id;private String name;public Teacher(int id,String name) {this.id=id;this.name=name;} }
模板類用與表示通用的數據結構和算法。
例如,定義一個類List,表示通用鏈表(適用于任意對象的類型)
定義模板類:
class List<T>{
}
使用模板類:創建List對象時應指定參數類型
List<Student> stus=new List<Student>();
注意:并不是非常必要。
以為所有的對象都是Object的子類。
把所有子類換成Object就可以了。
注:Java的模板類屬于類,而C++屬于模板
似乎在任何情況下,都沒必要自己寫一個模版類
1.Java自帶了ArrayList,HashMap等模版類。
2.直接使用Object作為元素類型。
代碼如下:
HelloWorld.java
package my;public class HelloWorld {public static void main(String[] args){ Student a=new Student(1000,"小明");Student b=new Student(1001,"小白");PeopleList<Student> studentList = new PeopleList<Student>();studentList.initList();studentList.add(a);studentList.add(b);PeopleList<Teacher> teacherList=new PeopleList<Teacher>();teacherList.initList();teacherList.add(new Teacher(2000,"球球"));teacherList.add(new Teacher(2001,"腿腿"));teacherList.add(new Teacher(2002,"閏土"));ObjectList studentList2=new ObjectList();studentList2.initList();studentList2.add(new Student (1000,"小明"));studentList2.add(new Student (1001,"閏土"));} }ObjectList.java package my;import my.PeopleList.LinkNode;public class ObjectList {LinkNode head;LinkNode LinkList;class LinkNode{public Object Data;public LinkNode next;}public void initList() {LinkNode p=new LinkNode();head=p;head.next=null;}public void add(Object a) { //頭插法LinkNode p=new LinkNode();p.Data=a;LinkNode q=head;p.next=q.next;q.next=p; }}
Teacher.java
package my;public class Teacher {private int id;private String name;public Teacher(int id,String name) {this.id=id;this.name=name;} }
?
Java基礎入門筆記-數組鏈表
http://blog.csdn.net/qq78442761/article/details/78996551
總結
以上是生活随笔為你收集整理的Java高级语法笔记-模板类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.3.2模拟匹配的一种改价算法(KMP
- 下一篇: Java基础入门笔记-对象与引用