1.泛型类
class A<T>{使用泛型} 在创建类对象的时候使用
public class MyClass<T> { private T t; public T getT() { return t; } public void setT(T t) { this.t = t; } public static void main(String[] args) { //创建对象 MyClass<String> mc = new MyClass<String>(); mc.setT("a"); System.out.println(mc.getT()); } }
2.泛型方法
public <T> void method(T a){使用泛型} 在方法调用的时候使用
package com.heima.fanxing; public class MyClass<T> { private T t; public T getT() { return t; } public void setT(T t) { this.t = t; } //泛型方法 public <T> void method(T c){ System.out.println(c); } public static void main(String[] args) { //创建对象 MyClass<String> mc = new MyClass<String>(); mc.method(1); mc.setT("a"); System.out.println(mc.getT()); } }
3.泛型接口
interface B<T>
public interface MyInterface<T> { public abstract void method(T t); }
public class MyInte implements MyInterface<String>{ @Override public void method(String t) { } }