Java__有关类、方法及接口的泛型操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java__有关类、方法及接口的泛型操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2581字,纯文字阅读大概需要4分钟。
内容图文
![Java__有关类、方法及接口的泛型操作](/upload/InfoBanner/zyjiaocheng/617/959225e2f2de451ab596876255b45de4.jpg)
泛型:可以在类或方法中预支地使用未知的类型。一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。
泛型的使用:
1.定义和使用含有泛型的类
格式:修饰符 class 类名<代表泛型的变量> { }
*代表泛型的变量随意,最好是大写字母
public class GClass<E> {
private E name;
public E getName() {
return name;
}
public void setName(E name) {
this.name = name;
}
public GClass(E name) {
super();
this.name = name;
}
public GClass() {}
@Override
public String toString() {
return "GClass [name=" + name + "]";
}
}
由于泛型变量没有定义,而是在创建对象时给与类中泛型的类型,如下分别给了String和Integer类型。
public class Main {
public static void main(String[] args) {
GClass<String> gc1 = new GClass<>();
gc1.setName("小强");
System.out.println(gc1.getName());
GClass<Integer> gc2 = new GClass<>();
gc2.setName(1234);
System.out.println(gc2.getName());
}
}
运行结果:
小强
1234
2.含有泛型的方法
格式:修饰符 <代表泛型的变量> 返回值类型 方法名(参数){ }
为更好演示,本次分别定义一个静态方法和一个非静态方法:
public class GMethod {
public<R> void method(R r) {
System.out.println(r);
}
public static<M> void method2(M m) {
System.out.println(m);
}
}
基本操作:静态方法直接类名调用,非静态方法利用创建的对象调用。
public class Main {
public static void main(String[] args) {
GMethod gm1 = new GMethod();
gm1.method(32141);
gm1.method("小强");
GMethod.method2("小强");
GMethod.method2(123);
}
}
运行结果:
32141
小强
小强
123
3.含有泛型的接口
格式:修饰符 interface接口名<代表泛型的变量> { }
public interface GInterface<I> {
public abstract void method(I i);
}
3.1、定义类时确定泛型的类型,重写接口方法
public class GInterfaceImpl implements GInterface<String> {
@Override
public void method(String i) {
System.out.println(i);
}
}
创建对象调用method方法
public class Main {
public static void main(String[] args) {
GInterfaceImpl gii = new GInterfaceImpl();
gii.method("aaaab");
}
}
运行结果:
aaaab
3.2始终不确定泛型的类型,直到创建对象时,确定泛型的类型,重写接口方法
注意:接口与实现类的泛型要统一
public class GInterfaceImpl2<I> implements GInterface<I>{
@Override
public void method(I i) {
System.out.println(i);
}
}
创建对象时确定泛型
public class Main {
public static void main(String[] args) {
GInterfaceImpl2<Integer> gii2 = new GInterfaceImpl2<>();
gii2.method(123421);
GInterfaceImpl2<String> gii3 = new GInterfaceImpl2<>();
gii3.method("小强");
}
}
运行结果:
123421
小强
掌握泛型的基本操作,感觉人生已经到达了高潮,看过感觉有利的麻烦点个赞呗!
bye-bye!
内容总结
以上是互联网集市为您收集整理的Java__有关类、方法及接口的泛型操作全部内容,希望文章能够帮你解决Java__有关类、方法及接口的泛型操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。