本笔记来源于:尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)
b站视频
1.举例:
【Order.java】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| public class Order<T> {
String orderName; int orderId;
T orderT;
public Order(){ T[] arr = (T[]) new Object[10]; }
public Order(String orderName,int orderId,T orderT){ this.orderName = orderName; this.orderId = orderId; this.orderT = orderT; }
public T getOrderT(){ return orderT; }
public void setOrderT(T orderT){ this.orderT = orderT; }
@Override public String toString() { return "Order{" + "orderName='" + orderName + '\'' + ", orderId=" + orderId + ", orderT=" + orderT + '}'; }
public void show(){
}
public static <E> List<E> copyFromArrayToList(E[] arr){ ArrayList<E> list = new ArrayList<>();
for(E e : arr){ list.add(e); } return list; } }
|
【SubOrder.java】
1 2 3 4 5 6 7 8 9 10 11 12
| public class SubOrder extends Order<Integer> {
public static <E> List<E> copyFromArrayToList(E[] arr){
ArrayList<E> list = new ArrayList<>();
for(E e : arr){ list.add(e); } return list; } }
|
1 2
| SubOrder<Integer> o = new SubOrder<>();
|
【SubOrder1.java】
1 2
| public class SubOrder1<T> extends Order<T> { }
|
【测试】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| @Test public void test1(){ Order order = new Order(); order.setOrderT(123); order.setOrderT("ABC");
Order<String> order1 = new Order<String>("orderAA",1001,"order:AA");
order1.setOrderT("AA:hello"); }
@Test public void test2(){ SubOrder sub1 = new SubOrder(); sub1.setOrderT(1122);
SubOrder1<String> sub2 = new SubOrder1<>(); sub2.setOrderT("order2..."); }
@Test public void test3(){
ArrayList<String> list1 = null; ArrayList<Integer> list2 = new ArrayList<Integer>();
Person p1 = null; Person p2 = null; p1 = p2; }
@Test public void test4(){ Order<String> order = new Order<>(); Integer[] arr = new Integer[]{1,2,3,4}; List<Integer> list = order.copyFromArrayToList(arr);
System.out.println(list); }
|
2.注意点:


3.应用场景举例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| 【DAO.java】:定义了操作数据库中的表的通用操作。 ORM思想(数据库中的表和Java中的类对应) public class DAO<T> {
public void add(T t){
}
public boolean remove(int index){ return false; }
public void update(int index,T t){
}
public T getIndex(int index){
return null; }
public List<T> getForList(int index){
return null; }
public <E> E getValue(){
return null; } }
【CustomerDAO.java】: public class CustomerDAO extends DAO<Customer>{ }
【StudentDAO.java】: public class StudentDAO extends DAO<Student> { }
|