泛型

泛型作用

1泛型为不定类型即可以是任意类型

如:

class Point{//A为一种未知类型(只是名称)
  private A x ;//Object型可以指向任意类型的变量
  private A y;
  public A getX() {
      return x;
  }
  public void setX(A x) {
      this.x = x;
  }
  public A getY() {
      return y;
  }
  public void setY(A y) {
      this.y = y;
  }
  
}
public class Genericdemo01 {

  public static void main(String[] args) {
Pointp=new Point();//<需要什么类型设定什么类型>
p.setX("我的家乡是安徽");
p.setY("我的家乡是辽宁");
System.out.println(p.getX()+"  "+p.getY());
  }

}
    

泛型构造方法

    private T name;

    public A(T _name) {// 泛型的构造方法
        name = _name;
    }

    public T getName() {
        return name;
    }

    public void setName(T name) {
        this.name = name;
    }
}

public class Generic {
    public static void main(String[] args) {
        A a = new A("String类型");
        A b = new A(500);
        A c = new A("再创建");
        System.out.println(a.getName());
//a,b,c分别是不同对象,因此他们的值互不影响
        System.out.println(b.getName());
        System.out.println(c.getName());
    }
}

多个泛型的定义

    private A take;
    private B key;
    public A getTake() {
        return take;
    }
    public void setTake(A take) {
        this.take = take;
    }
    public B getKey() {
        return key;
    }
    public void setKey(B key) {
        this.key = key;
    }
}
public class GEnericdemo03 {

    public static void main(String[] args) {
Geng=new Gen();
/*类型定义顺序决定了下面对象类型
 * 可以创建一个泛型,但必须多次声明创建对象
 * 
 */
g.setTake("String类型");
g.setKey(900);
System.out.println("take:  "+g.getTake()+"  "+"key :"+g.getKey());
    }

}

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