package test.arithmetic;
public class Arithmetic1 {
/**
* @param args
*/
public static void main(String[] args) {
Point<String> p=new Point<String>();
p.setX("180度");
p.setY("30度");
print(p);
print1(p);
//print2(p);//编译未通过
print3(p);
print4(p);
print5(p);
/**
public static <T> void print(Point<T> p)
x坐标:180度 y坐标:30度 类型:class java.lang.String
x坐标:120度 y坐标:30度 类型:class java.lang.String
public static void print1(Point<?> p)
x坐标:120度 y坐标:30度 类型:class java.lang.String
public static void print3(Point<String> p)
x坐标:120度 y坐标:30度 类型:class java.lang.String
x坐标:120度 y坐标:20度 类型:class java.lang.String
public static void print4(Point<? extends String> p)
x坐标:120度 y坐标:20度 类型:class java.lang.String
public static void print5(Point<? super String> p)
x坐标:120度 y坐标:20度 类型:class java.lang.String
x坐标:120度 y坐标:11度 类型:class java.lang.String
*/
}
public static <T> void print(Point<T> p){
System.out.println("public static <T> void print(Point<T> p)");
System.out.println("\t" +p);
p.setX((T) "120度");//警告
System.out.println("\t" +p);
}
public static void print1(Point<?> p){
System.out.println("public static void print1(Point<?> p)");
System.out.println("\t" +p);
//p.setY("20度");// 编译未通过
}
public static void print2(Point<Object> p){
System.out.println("public static void print2(Point<Object> p)");
System.out.println("\t" +p);
p.setY("20度");// 编译未通过
System.out.println("\t" +p);
}
public static void print3(Point<String> p){
System.out.println("public static void print3(Point<String> p)");
System.out.println("\t" +p);
p.setY("20度");
System.out.println("\t" +p);
}
public static void print4(Point<? extends String> p){
System.out.println("public static void print4(Point<? extends String> p)");
System.out.println("\t" +p);
//p.setY("20度");// 编译未通过
}
public static void print5(Point<? super String> p){
System.out.println("public static void print5(Point<? super String> p)");
System.out.println("\t" +p);
p.setY("11度");
System.out.println("\t" +p);
}
}
class Point<T>{
private T x;
private T y;
public T getX() {
return x;
}
public void setX(T x) {
this.x = x;
}
public T getY() {
return y;
}
public void setY(T y) {
this.y = y;
}
@Override
public String toString() {
return "x坐标:"+x+" \t y坐标:"+y+" \t 类型:"+x.getClass();
}
}
泛型练习2
最新推荐文章于 2022-08-08 00:19:24 发布