java入门总结part5

泛型:在不知道使用的数据类型是什么,或数据类型可以是多种时使用

简单使用

class 类名 <泛型,泛型...>{

属性

方法

}

类名<具体类型>对象名称 = new 类名称<具体类型>();

具体代码:

package javalearn;
class Point{//注明是泛型,一般用大写T
    T x;
    T y;
    public void tell(){
        System.out.println(x+" "+y);
    }
    
}
public class Learn {

    public static void main(String[] args) {
        Point name = new Point();//传入字符串类型,记住首字母大写
        name.x="李明";
        name.y="李大妈";
        name.tell();
        Point age = new Point();//传入整型,记住首字母大写
        age.x=15;
        age.y=18;
        age.tell();
        Point weight = new Point();//传入浮点型,记住首字母大写
        weight.x=54.5f;
        weight.y=183.2f;
        weight.tell();
        }
}

运行结果:

李明 李大妈
15 18
54.5 183.2

构造方法中的使用:

比较简单,直接写构造方法的代码:

public Point(T x){

this.x=x;

}

ok,其他与上面一样不多说。

多个泛型的使用

就是多写几个用逗号隔开,具体代码:

package javalearn;
class Point{//注意一般都是大写字母表示泛型
    T x;
    K y;
    public void tell(){
        System.out.println(x+" "+y);
    }
    
}
public class Learn {

    public static void main(String[] args) {
        Point name = new Point();
        name.x="李明";
        name.y=10;
        name.tell();
        Point age = new Point();
        age.x=15;
        age.y="李仨子";
        age.tell();
        }
}


运行结果:

李明 10
15 李仨子

通配符

当你传参时不知道参数类型时,使用通配符?,具体代码:

package javalearn;
class Point{//注意一般都是大写字母表示泛型
    T x;
    public void tell(){
        System.out.println(x);
    }
    
}
public class Learn {

    public static void main(String[] args) {
        Point name = new Point();//这是字符串类型
        name.x="李明";
        say(name);
        Point age = new Point();//这时整型
        age.x=20;
        say(age);
        }
    public static void say(Point i) {//使用了通配符?,可以传进来任何数据类型
        i.tell();
        }
}


运行结果:

李明

20

泛型接口,泛型方法,泛型数组都类似,可以自己实践,这里只写一个泛型数组吧

package javalearn;
public class Learn {

    public static void main(String[] args) {
        String arr[]={"易烊千玺","我喜欢你","就可以啦"};
        Integer arrint[]={2000,11,28};//记得整型用Integer,首字母大写!
        tell(arr);
        System.out.println();
        tell(arrint);
        }
    public static void tell(T arr[]) {//记得前面不能忘
        for(int i=0;i             System.out.print(arr[i]+" ");
        }
        }
}


运行结果:

易烊千玺 我喜欢你 就可以啦
2000 11 28

ok,泛型结束,下次继续集合类详解。。。

 

你可能感兴趣的:(java入门总结part5)