美文网首页
泛型机制(一)

泛型机制(一)

作者: coolTigers | 来源:发表于2021-04-01 00:23 被阅读0次

简述

Java泛型特性与C++中的模板特性在行为上是很类似的。

优缺点

优点

a、避免了类型转换;
b、把运行期一场提升到编译器,写代码编译时就会报错;

缺点

只能存储泛型指定的数据类型

泛型方法

定义

public class GenericMethod {
    public static  <T> void method1(T t)
    {
        System.out.println(t);
    }
}

使用

public class mainFunction {
    public static void main(String[] args){
        GenericMethod.method1(1);
        GenericMethod.method1("123");
    }
}

结果

1.png

当然也可以使用普通方法。这里不再赘述。

泛型类

定义

/*
定义一个泛型类
* */
public class GenericClass<T> {
    private T name;

    public T getName() {
        return name;
    }

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

使用

public class mainFunction {
    public static void main(String[] args){
        GenericClass<Integer>  gc = new GenericClass<>();
        gc.setName(1);
        System.out.println(gc.getName());

        GenericClass<String>  gc1 = new GenericClass<>();
        gc1.setName("abc");
        System.out.println(gc1.getName());
    }
}

结果

2.png

泛型接口

定义

接口定义

public interface GenericInterface<T> {
    public abstract  void method(T t);
}

接口实现一

public class GenericInterfaceImpl1 implements  GenericInterface<String> {
    @Override
    public void method(String s) {
        System.out.println(s);
    }
}

接口实现二

public class GenericInterfaceImpl2<T> implements GenericInterface<T> {
    @Override
    public void method(T t) {
        System.out.println(t);
    }
}

使用

public class mainFunction {
    public static void main(String[] args){
        GenericInterfaceImpl1 gi = new GenericInterfaceImpl1();
        gi.method("string");

        GenericInterfaceImpl2<Integer> gi1 = new GenericInterfaceImpl2<>();
        gi1.method(123);

        GenericInterfaceImpl2<String> gi2 = new GenericInterfaceImpl2<>();
        gi2.method("abc");
    }
}

结果

3.png

相关文章

  • Java反射(三)泛型

    一、泛型和Class类从JDK 1.5 后,Java中引入泛型机制,Class类也增加了泛型功能,从而允许使用泛型...

  • 近期的感想

    最近一直看Java的泛型机制,但是总是感觉这种泛型机制非常的乱。很多细节需要思考,不像多态机制那么的成熟。

  • Java反射机制总结(三)

    一、泛型和Class类 从JDK 1.5 后,Java中引入泛型机制,Class类也增加了泛型功能,从而允许使用泛...

  • 【阿里P8大牛教你Android入门之路(java篇)】Java

    一、泛型和Class类 从JDK 1.5 后,Java中引入泛型机制,Class类也增加了泛型功能,从而允许使用泛...

  • Kotlin-泛型和委托

    泛型 泛型的使用是为了程序有更好的扩展性。泛型类和泛型方法 泛型的高级特性java的泛型是通过类型擦除机制来实现的...

  • 泛型机制(一)

    简述 Java泛型特性与C++中的模板特性在行为上是很类似的。 优缺点 优点 a、避免了类型转换;b、把运行期一场...

  • Java--反射机制(三)——泛型使用

    一、泛型和Class类 从JDK 1.5 后,Java中引入泛型机制,Class 类也增加了泛型功能,从而允许使用...

  • Java泛型

    泛型定义 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制...

  • Java 泛型

    Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允...

  • Java泛型

    Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允...

网友评论

      本文标题:泛型机制(一)

      本文链接:https://www.haomeiwen.com/subject/gkezhltx.html