(个人笔记)泛型类

1.泛型的定义格式

格式:修饰符 class 类名<类型>

eg:public class Table<T>

其中:T代表类型、E代表元素、K代表键、V代表值

public class Generic<T> {
    private  T t;

    public T getT() {
        return t;
    }

    public void setT(T t) {
        this.t = t;
    }
}

public class GenericDemo {
    public static void main(String[] args) {

        Generic<String> g  = new Generic<String>();
        g.setT("persuade 说服,劝服");
        System.out.println(g.getT());

        Generic<Integer> g1 =new Generic<Integer>();
        g1.setT(123);
        System.out.println(g1.getT());
    }
}

2.泛型方法

泛型方法的定义格式:

格式:修饰符 <类型> 返回值类型 方法名(类型 变量名){}

eg:public <T>  void show(T t){} 

public class Generic {
    public <T> void show(T t){
        System.out.println(t);
    }
}

 3.泛型接口

        泛型接口定义格式:

        格式:修饰符 interface 接口名 <类型>{ }

        eg:public interface Generic <T>{ }

接口定义

public interface Generic<T>{
    void show(T t);
}

接口实现类 

public class GenericImpl<T> implements Generic<T> {
    @Override
    public void show(T t) {
        System.out.println(t);
    }
}

测试类

public class GenericDemo {
    public static void main(String[] args) {
        Generic<String> g = new GenericImpl<String>();
        g.show("persuade 劝服");
    }
}

 4.类型通配符

类型通配符:<?>

List<?>:表示为元素未知的List,可以匹配到任意的类型

类型通配符上限<? extends 类型>

List<? extends Number>:表示为Number或其子类型

类型通配符上限<? Super 类型>

List<? Super Number>:表示为Number或其父类型

 5.可变参数        

        可变参数定义格式

        格式:修饰符 返回值类型 类名(数据类型 ...变量名){ }

        eg:public static int sum(int ...a){ }

public class ArgsDemo {
    public static void main(String[] args) {
        System.out.println(sum(213,1234,123,123));
        System.out.println(sum(123,124,345235,4,5645756,8));
        System.out.println(sum(123,235432,346,457,56,8));

    }
    public static int sum(int... a){
        int sum = 0;
        for(int i : a){
            sum += i;
        }
            return sum;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值