自定义泛型类:
泛型类:
package Java_project_1;
import java.util.ArrayList;
public class MyArrayList<E> {
//套壳使用
private ArrayList lists=new ArrayList();
public void add(E e){
lists.add(e);
}
public void remove(E e){
lists.remove(e);
}
@Override
public String toString(){
return lists.toString();
}
}
主类:
package Java_project_1;
public class Test{
public static void main(String[] args) {
MyArrayList<String> list= new MyArrayList<>();
list.add("Java");
list.add("Java");
list.add("MySQL");
list.remove("MySQL");
System.out.println(list);
MyArrayList<Integer>list2=new MyArrayList<>();
list2.add(21);
list2.add(22);
list2.add(23);
list2.remove(22);
System.out.println(list2);
}
}
主要考察:
自定义泛型方法:
package Java_project_1;
public class Test{
public static void main(String[] args) {
String[] names={"小璐","荣荣","小何"};
printArroy(names);
Integer[] ages={10,20,30};
printArroy(ages);
}
private static <T>void printArroy(T[] arr) {
if(arr!=null){
StringBuilder sb=new StringBuilder("[");
for (int i=0;i< arr.length;i++){
sb.append(arr[i]).append(i== arr.length-1?"":",");
}
sb.append("]");
System.out.println(sb);
}else {
System.out.println(arr);
}
}
}
主要考察:
Data接口泛型类:
package Java_project_1;
public interface Data<E>{
void add(E e);
void delete(int id);
void update(E e);
E queryById(int id);
}
教师数据接口类:
package Java_project_1;
public class TeacherData implements Data<Teacher>{
@Override
public void add(Teacher teacher) {
}
@Override
public void delete(int id) {
}
@Override
public void update(Teacher teacher) {
}
@Override
public Teacher queryById(int id) {
return null;
}
}
学生数据接口类:
package Java_project_1;
public class StudentData implements Data<Student>{
@Override
public void add(Student student) {
}
@Override
public void delete(int id) {
}
@Override
public void update(Student student) {
}
@Override
public Student queryById(int id) {
return null;
}
}
学生类:
package Java_project_1;
public class Student {
}
教师类:
package Java_project_1;
public class Teacher {
}
主要考察:
泛型通配符、上下限:
package Java_project_1;
import java.util.ArrayList;
public class GenericDemo {
public static void main(String[] args) {
ArrayList<BMW> bmws = new ArrayList<>();
bmws.add(new BMW());
bmws.add(new BMW());
bmws.add(new BMW());
go(bmws);
ArrayList<BENZ> benzs = new ArrayList<>();
benzs.add(new BENZ());
benzs.add(new BENZ());
benzs.add(new BENZ());
go(benzs);
}
public static void go(ArrayList<?extends Car> cars) {
}
}
class BENZ extends Car{
}
class BMW extends Car{
}
class Car{
}
主要考察: