Java集合框架--泛型类 & 泛型接口
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合框架--泛型类 & 泛型接口相关的知识,希望对你有一定的参考价值。
1. 泛型类
1.1 泛型类的定义:
myGeneric.java
/**
* 泛型类
* 语法:类名<T>
* T是类型占位符,表示一种引用类型,编写多个使用逗号隔开
*/
public class myGeneric<T> {
//1.创建泛型变量
//不能使用new来创建,因为泛型是不确定的类型,也可能拥有私密的构造方法。
T t;
//2.泛型作为方法的参数
public void show(T t) {
System.out.println(t);
}
//泛型作为方法的返回值
public T getT() {
return t;
}
}
1.2 泛型类的使用
TestGeneric.java
package list;
/**
* 注意:
* 1.泛型只能使用引用类型
* 2.不同泛型类型的对象不能相互赋值
*/
public class TestGeneric {
public static void main(String[] args) {
//使用泛型类创建对象
myGeneric<String> myGeneric1 = new myGeneric<>();
myGeneric1.t = "Tian";
System.out.println("myGeneric1.t: " + myGeneric1.t);
myGeneric1.show("我是泛型的内容");
System.out.println();
myGeneric<Integer> myGeneric2 = new myGeneric<>();
myGeneric2.t = 10;
System.out.println("myGeneric2.t: " + myGeneric2.t);
myGeneric2.show(30);
}
}
运行结果
2. 泛型接口
2.1 创建泛型接口:
MyInterface.java
package generic;
/**
* 泛型接口
* 语法:接口名<T>
* 注意:不能创建泛型静态常量
*/
public interface MyInterface<T> {
//创建常量 接口中默认是 public static final修饰
double PI = 3.1415926;
T server(T t);
}
2.2 普通类实现泛型接口:
普通类实现泛型接口需要指明具体类型
MyInterfaceImp0l.java
package generic;
/**
* Description: 实现接口的时候确定泛型类
*/
public class MyInterfaceImp0l implements MyInterface<String> {
@Override
public String server(String s) {
return s;
}
}
2.3 泛型类实现泛型接口:
泛型类实现泛型接口不需要指明具体类型
MyInterfaceImpl02.java
package generic;
/**
* Description: 实现接口时不确定泛型类
*/
public class MyInterfaceImpl02<T> implements MyInterface<T> {
@Override
public T server(T t) {
return t;
}
}
2.4 测试代码:
Test.java
package generic;
/**
* Description: 测试泛型接口实现类
*/
public class Test {
public static void main(String[] args) {
System.out.println("普通类实现泛型接口: ");
MyInterfaceImp0l c1 = new MyInterfaceImp0l();
System.out.println(c1.server("普通类...\\n"));
System.out.println("泛型类实现泛型接口: ");
MyInterfaceImpl02<Integer> c2 = new MyInterfaceImpl02<>();
System.out.println(c2.server(1585526224));
}
}
运行结果:
以上是关于Java集合框架--泛型类 & 泛型接口的主要内容,如果未能解决你的问题,请参考以下文章
JAVA-初步认识-常用对象API(集合框架-泛型-泛型接口)
JAVA-初步认识-常用对象API(集合框架-泛型-泛型类)