一、泛型方法

 /**

 自定义泛型:自定义泛型可以理解为是一个数据类型的占位符,或者理解为是一个数据类型的变量。

 泛型方法:
泛型方法的自定义格式:修饰符<声明自定义泛型>返回值类型 函数名称(形参列表)
在自定义泛型方法上泛型的具体类型是调用该方法的时候传入参数的类型所确定的 */
public class demo1 {
public <T>T printf (T t){
return t;
}
public static void main(String[] args) {
demo1 demo1 = new demo1();
Integer integer = demo1.printf(100);
String string = demo1.printf("wz");
System.out.println(string);
System.out.println(integer);
}
}

二、泛型类

 package cn.itcast.generic;
/**
* 在类上自定义泛型 如果创建该类的对象时, 没有指定泛型的具体类型 那么默认的是object类型
* 在类上自定义的泛型 具体的数据类型是在创建对象的时候指定的
*
*/
public class demo2 {
public static void main(String[] args) {
MyList<String > myList = new MyList();
myList.add("add");
// myList.add(123);
}
} class MyList<T>{
//创建对象的时候不能直接用泛型直接创建
//T[] arr = new T[10];
Object[] arr = new Object[10];
int index = 0;
public MyList() { }
public void add(T oT){
arr[index++] = oT; }
}

三、泛型接口

 /**

 泛型接口:

 泛型接口的定义格式:interface 接口名 <声明自定义的泛型>{}
在接口上自定义泛型注意事项:
1 在接口上自定义泛型 具体的数据类型是 在实现接口的时候 指定的。
2 如果接口自定义了泛型 在实现该接口的时候没有指定数据类型 那么该接口默认 是object类型 如果
*/ interface GenericDao<T>{
public void add(T t); public void remove(T t);
} public class demo3 implements GenericDao<String >{ @Override
public void add(String t) {
// TODO Auto-generated method stub } @Override
public void remove(String t) {
// TODO Auto-generated method stub }
}
class demo4 implements GenericDao{ @Override
public void add(Object t) {
// TODO Auto-generated method stub
} @Override
public void remove(Object t) {
// TODO Auto-generated method stub
}
}

三、泛型接口

 /**

 泛型接口:

 泛型接口的定义格式:interface 接口名 <声明自定义的泛型>{}
在接口上自定义泛型注意事项:
1 在接口上自定义泛型 具体的数据类型是 在实现接口的时候 指定的。
2 如果接口自定义了泛型 在实现该接口的时候没有指定数据类型 那么该接口默认 是object类型 如果
*/ interface GenericDao<T>{
public void add(T t); public void remove(T t);
} public class demo3 implements GenericDao<String >{ @Override
public void add(String t) {
// TODO Auto-generated method stub } @Override
public void remove(String t) {
// TODO Auto-generated method stub }
}
class demo4 implements GenericDao{ @Override
public void add(Object t) {
// TODO Auto-generated method stub
} @Override
public void remove(Object t) {
// TODO Auto-generated method stub
}
}

Java基础学习——泛型的更多相关文章

  1. Java基础学习-泛型概述和测试

    1.举例 首先先用集合来写个自定义对象存储并且去遍历. package genericity; import java.util.ArrayList; import java.util.Collect ...

  2. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  3. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  4. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  5. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  6. 黑马程序员:Java基础总结----泛型(高级)

    黑马程序员:Java基础总结 泛型(高级)   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...

  7. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  8. java基础学习总结——开篇

    java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...

  9. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

随机推荐

  1. Redis-简单实现星形主从配置

    高级参考(https://www.zhihu.com/question/21419897) 简单应用场景 现在配置redis 星形 集群, 有三台服务器, 怎样实现? 复制redis.conf两份, ...

  2. jQuery制作淘宝商城商品列表多条件查询功能

    一.介绍 这几天做网站的时候,突然用到这个功能,找了好久也没有找到.看到"希伟素材网"有这么一个JS,效果很不错,也正是我一直以来想要的结果.附图如下: 二:使用教程      1 ...

  3. Python数据可视化Matplotlib——Figure画布背景设置

    之前在今日头条中更新了几期的Matplotlib教学短视频,在圈内受到了广泛好评,现应大家要求,将视频中的代码贴出来,方便大家学习. 为了使实例图像显得不单调,我们先将绘图代码贴上来,此处代码对Fig ...

  4. akoj-1222-炸金花

    炸金花 Time Limit:1000MS  Memory Limit:65536K Total Submit:40 Accepted:19 Description 炸金花是一个风靡全球的扑克游戏,喜 ...

  5. uiautomator +python 实现安卓自动化

    很多人看到这个题目我相信他们可能会说,uiautomator不是java开发的吗?python怎么用呢,其实呢 ,一开始我也是这么想的,看了金阳光老师的视频,也是用java写的,我表示不服,我要科学上 ...

  6. RMAN 备份异机恢复 并创建新DBID

    测试平台信息: Oracle:11gR2 操作系统:Redhat 5.5 Target DB:dave   几点说明: (1)RMAN 异机恢复的时候,db_name必须相同. 如果说要想改成其他的实 ...

  7. jQuery.extend 使用函数

    介绍 jQuery.extend([deep], target, object1, [objectN])用一个或多个其他对象来扩展一个对象,返回被扩展的对象.如果不指定target,则给jQuery对 ...

  8. python——内置函数和匿名函数

    内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...

  9. # Consumed parameters

    consumed这个单词我并不能给出很准确的翻译,在这篇文章中,我把Consumed parameters称为耗用参数,它在OC中有着独特的应用场景. 在https://clang.llvm.org/ ...

  10. How to quickly become effective when joining a new company

    How to quickly become effective when joining a new company The other day my colleague Richard asked ...