泛型

ackage arr;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.util.ArrayList;
import java.util.Arrays;

public class Test223 {
public static void main(String[] args) {
ArrayList students = new ArrayList();//后面必须和前面一致
ArrayList objects = new ArrayList<>();//1.7之后后面的菱形可以不用填
ArrayList numbers = new ArrayList();

    get1(students);
    get1(objects);
   // get1(numbers);报错 超出下限制,不是自己或自己的父类
    //get2(objects);//报错 超出上限 只能是自己或自己的子类
    get2(numbers);
   // get2(objects);// //get2(objects);//报错 超出上限 只能是自己或自己的子类

// 十二、编写一个泛型方法,接收一个任意引用类型的数组,并反转数组中的所有元素

  //  十一、编写一个泛型方法,实现任意引用类型数组指定位置元素交换。
    Integer[] A= {1,2,3};
    String[] AA= {"1","2","3"};
   get(A,1,2);
    get1(AA);

  new aaa1(){//如果接口有泛型,实现类去实现接口必须要实例化泛型;
      public void get(String A){
          System.out.println(A);

      }
  }.get("123");

    aaa1 integeraaa1 = new aaa1(){
        public void get(String A){
            System.out.println(A);

        }
    };//匿名内部类的固定格式,后面得加;

}


public static   void get(A[] arr,int a,int b) {
    A a1 = arr[a];
    arr[a]=arr[b];//
    arr[b]=a1;

}

public static  void get1(AA[] arr) {
    for (int i = 0,j=arr.length-1; i  Students) {
    System.out.println(Students);

}
public static void get1(ArrayList students) {//下限:
   // 传入参数的实例化类型只能是类型自己或类型的父类类型 代码示例:
    System.out.println(students);

}
public static void get2(ArrayList Number) {//上限:
    //传入参数的实例化类型只能是类型自己或类型的子类类型
    System.out.println(Number);

}

}
interface aaa1{
void get(A a);
// new er(){//匿名内部类
// public void get(){
// System.out.println(111111);
// }
// }.get();
//
// er A = new er(){//匿名内部类//多态写法
// public void get(){
// System.out.println(111111);
// }
// };
// A.get();

}
class aaaa1 implements aaa1{//实现内部类需要实例化泛型

public void get(Integer s) {
    System.out.println(1);
}

}

你可能感兴趣的:(泛型)