其他分享
首页 > 其他分享> > 定义和使用含有泛型的方法,定义和使用含有泛型的接口

定义和使用含有泛型的方法,定义和使用含有泛型的接口

作者:互联网

定义和使用含有泛型的方法:

定义含有泛型的方法:泛型定义在方法的修饰符和返回值类型之间

格式:

修饰符  <泛型>  返回值类型  方法名(参数列表(使用泛型)){

方法体;

}

含有泛型的方法,在调用方法的时候确定泛型的数据类型

传递什么类型的参数,泛型就是什么类型

public class fangfa {

    //定义一个含有泛型的方法
    public <A> void meth(A a){
        System.out.println(a);
    }
    //定义一个含有泛型的静态方法
    public static  <W> void fanxin(W w){
        System.out.println(w);
    }

}
/**
 * 测试含有泛型的方法
 */
public class diaoyong {
    public static void main(String[] args) {
        //创建fangfa对象
        fangfa fan = new fangfa();
        /**
         * 调用含有泛型的方法meth
         * 传递什么类型,泛型就是什么类型
         */
        fan.meth(19);
        fan.meth("对你有好感");
        fan.meth(6.24);
        fan.meth(52.10);

        //静态方法,通过类名,方法名(参数)可以直接使用
        fangfa.fanxin("静态方法,不建议创建对象使用");
        fangfa.fanxin(1);
    }
}

 

 

 

定义和使用含有泛型的接口:

含有泛型的接口,第一种使用方式:定义接口的实现类,实现接口,指定接口的泛型

public interface iterator<E> {

E next( );

}

Scanner类实现了Iterator接口,并指定接口的泛型为string,所以重写的next方法泛型默认就是string

public final class Scanner implements Iterator<string>{

public string next(){}

}

/**
 * 定义含有泛型的接口
 */
public interface jiekou <S> {
    public abstract void text(S b);
}
/**
 * 含有泛型的接口,第一种使用方式:定义接口的实现类,实现接口,指定接口的泛型
 * public interface Iterator<E> {
 * E next( );
 * }
 * scanner类实现了Iterator接口,并指定接口的泛型为string,所以重写的next方法泛型默认就是string
 * public final class Scanner implements Iterator<string>{
 * public string next() {}
 * }
 */
public class fanjie implements jiekou<String>{

    @Override
    public void text(String b) {
        System.out.println(b);
    }
}
/**
 * 测试含有泛型的接口
 */
public class shixainlei {
    public static void main(String[] args) {
        //创建fanjie对象
        fanjie jie = new fanjie();
        jie.text("永世");
    }
}

 

含有泛型的接口第二种使用方式:接口使用什么泛型,实现类就使用什么泛型,类跟着接口走

就相当于定义了一个含有泛型的类,创建对象的时候确定泛型的类型

public interface list<E>{

boolean add(E e);

E get(int index);

}

public class ArrayList<E> implements List<E>{

public boolean add(E e){}

public E get(int index){}

}

/**
 * 定义含有泛型的接口
 */
public interface jiekou <S> {
    public abstract void text(S b);
}
/**
 * 含有泛型的接口第二种使用方式:接口使用什么泛型,实现类就使用什么泛型,类跟着接口走
 * 就相当于定义了一个含有泛型的类,创建对象的时候确定泛型的类型
 * public interface list<E>{
 *  boolean add(E e);
 *  E get(int index);
 *  }
 *  public class ArrayList<E> implements List<E>{
 *      public boolean add(E e){}
 *      public E get(int index){}
 *  }
 */
public class xingkou <S> implements jiekou<S>{

    @Override
    public void text(S b) {
        System.out.println(b);
    }
}
/**
 * 测试含有泛型的接口
 */
public class shixainlei {
    public static void main(String[] args) {
        //创建fanjie对象
        fanjie jie = new fanjie();
        jie.text("永世");

        //创建xingkou对象
        xingkou<Integer> kou = new xingkou<>();
        kou.text(19);

        xingkou<Double> xing = new xingkou<>();
        xing.text(5.21);
    }
}

 

 

 

 

 

 

 

 

搜索

复制

标签:定义,含有,接口,public,void,泛型,class
来源: https://www.cnblogs.com/hungui/p/16451682.html