java范型的简单使用

class Children<T>{
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public T getAge() {
		return age;
	}
	public void setAge(T age) {
		this.age = age;
	}
	String name;
	T age;
	public Children(String name,T age) {
		this.name = name;
		this.age =age;
	}
}
//通配符上限
class Children2<T extends Number>{
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public T getAge() {
		return age;
	}
	public void setAge(T age) {
		this.age = age;
	}
	String name;
	T age;
	public Children2(String name,T age) {
		this.name = name;
		this.age =age;
	}
}
//泛型接口
interface Ieat<T>{
	public void eat(T food);
	
}
class ieatDo<T> implements Ieat<T>{
	public void eat(T food) {
		
	}
}
	public static void tTtest() {
		Children c = new Children<String>("aa","23424");
		Children d = new Children<Integer>("bb",8);
		System.out.println(c.age);
		System.out.println(d.age);
		
		tTest(c);
		tTest(d);
		//通配符的上限和下限	
		//Integer是number的子类,所以可以传
		Children2 c2 = new Children2<Integer>("aa",9);
		String[] names = {"小白","凤凤","空空"};
		names = funce(names,2,1);
	}
	//通配符只能输出不能修改
	public static void tTest(Children<?>c) {
		System.out.println(c.age);
	}
	//泛型定义方法
	public static<T> T[] funce(T[] array , int i,int j){
		T tmp = array[i];
		array[i]=array[j];
		array[j]=tmp;
		return array;
	}

猜你喜欢

转载自blog.csdn.net/moliyiran/article/details/82146406