泛型的一些用法

package test;


import java.util.*;

import privateclass.*;

import java.io.*;


//写一个泛型接口
interface Msq <W>
{
	public void show(W q);
}

//实现泛型接口的时候已经知道了类型
class Complem1 implements Msq<Integer>
{

	@Override
	public void show(Integer q) {
		// TODO Auto-generated method stub
		System.out.println(q);
	}
}

//实现泛型接口不知道类型
class Complem2<W> implements Msq<W>
{

	@Override
	public void show(W q) {
		// TODO Auto-generated method stub
		System.out.println(q);
	}
	
}
public class Main {

	private static final String space_operator = " ";
	public static void main(String[] args) throws Exception {

		Scanner scanner = new Scanner(new BufferedInputStream(System.in));
		PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
		
		Tool<Student> tool = new Tool<Student>();
		
		Tool.show(8);
		
		Complem1 w = new Complem1();
		w.show(4);
		
		Complem2<String> k = new Complem2<String>();
		k.show("zhangshan");
	}
	
}


package privateclass;

//直接在类上面定义类型
public class Tool <Temp>{

	private Temp p;

	public Temp getP() {
		return p;
	}

	public void setP(Temp p) {
		this.p = p;
	}
	
	//静态函数要想用泛型必须在static和void之间加上泛型
	public static <W> void show(W q)
	{
		System.out.println(q);
	}
}

  

posted @ 2019-11-03 19:55  WINDZLY  阅读(88)  评论(0)    收藏  举报