package cn.itcast.p4.generic.define.demo;
import cn.itcast.p2.bean.Student;
import cn.itcast.p2.bean.Worker;
public class GenericDefineDemo3 {
/**
* @param args
*/
public static void main(String[] args) {
Tool<Student> tool = new Tool<Student>();
// tool.setObject(new Worker());
// Student stu = tool.getObject();
// Tool tool = new Tool();
// tool.setObject(new Worker());
// Student stu = (Student)tool.getObject();
}
}
package cn.itcast.p4.generic.define.demo;
public class GenericDefineDemo4 {
/**
* @param args
*/
public static void main(String[] args) {
Tool<String> tool = new Tool<String>();
tool.show(new Integer(4));
tool.show("abc");
tool.print("hahah");
// tool.print(new Integer(8));
Tool.method("haha");
Tool.method(new Integer(9));
}
}
package cn.itcast.p4.generic.define.demo;
public class GenericDefineDemo5 {
/**
* @param args
*/
public static void main(String[] args) {
InterImpl in = new InterImpl();
in.show("abc");
InterImpl2<Integer> in2 = new InterImpl2<Integer>();
in2.show(5);
}
}
//泛型接口,将泛型定义在接口上。
interface Inter<T>{
public void show(T t);
}
class InterImpl2<Q> implements Inter<Q>{
public void show(Q q){
System.out.println("show :"+q);
}
}
class InterImpl implements Inter<String>{
public void show(String str){
System.out.println("show :"+str);
}
}
package cn.itcast.p4.generic.define.demo;
/*
public class Tool {
private Object object;
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
}
*/
//在jdk1.5后,使用泛型来接收类中要操作的引用数据类型。
//泛型类。什么时候用?当类中的操作的引用数据类型不确定的时候,就使用泛型来表示。
public class Tool<QQ>{
private QQ q;
public QQ getObject() {
return q;
}
public void setObject(QQ object) {
this.q = object;
}
/**
* 将泛型定义在方法上。
* @param str
*/
public <W> void show(W str){
System.out.println("show : "+str.toString());
}
//泛型的变量不能用length等方法,但是可以使用Object的方法
public void print(QQ str){
System.out.println("print : "+str);
}
/**
* 当方法静态时,不能访问类上定义的泛型。如果静态方法使用泛型,
* 只能将泛型定义在方法上。
* @param obj
*/
public static <Y> void method(Y obj){
System.out.println("method:"+obj);
}
}
分享到:
相关推荐
2.课程内容推陈出新: ·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,...
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490705
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1491352
这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”...
Java试题-3:反射和泛型的综合应用 Java反射 泛型都是比较高级的应用技术
ClassExample-8.1:显示泛型集合的开始
JAVA设计模式--程序设计--反射--注解--泛型
which based on Realm+Databinding+MVP Retrofit Rxjava2 MaterialDesign。 Build more complex functions with cleaner code,talk is cheap ,show u the code: The following code to achieve the list of ...
Java 集合与泛型示例 Github 路径 作者 目录 LICENSE
03-Java集合-泛型面试题(24题)-新增
测试幻灯片测试幻灯片更改的最简单方法是运行./test-slideshow.sh 。 (注意:需要Zenity,可能已经安装了)。 这将根据您的更改快速构建幻灯片并播放。 请注意,test-slideshow脚本不进行本地化。 当前测试本地化是...
泛型类、泛型方法、泛型接口、泛型委托 泛型类、泛型方法、泛型接口、泛型委托
day02_Collection、泛型 day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda表达式 day08_File类、递归 day09_字节流、字符流...
Java.SE 自定义泛型与泛型的常见陷阱Java.SE 自定义泛型与泛型的常见陷阱
java经典教程-JDK1.5的泛型实现
NULL 博文链接:https://kanglecjr.iteye.com/blog/2098497
超全面javaweb教程第7天-_07_泛型方法和泛型类的使用
用C#代码,自定义泛型集合,泛型集合类中需要实现两个元素的交换。
【Flutter】Dart 泛型 ( 泛型类 | 泛型方法 | 特定类型约束的泛型 ) https://hanshuliang.blog.csdn.net/article/details/114059611 博客源码快照
个人制作且上课使用的课件,希望对大家初步了解泛型相关内容有一定的帮助。个人制作且上课使用的课件,希望对大家初步了解泛型相关内容有一定的帮助。