Java基础学习——泛型
一、泛型方法
/** 自定义泛型:自定义泛型可以理解为是一个数据类型的占位符,或者理解为是一个数据类型的变量。 泛型方法:
泛型方法的自定义格式:修饰符<声明自定义泛型>返回值类型 函数名称(形参列表)
在自定义泛型方法上泛型的具体类型是调用该方法的时候传入参数的类型所确定的 */
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基础学习——泛型的更多相关文章
- Java基础学习-泛型概述和测试
1.举例 首先先用集合来写个自定义对象存储并且去遍历. package genericity; import java.util.ArrayList; import java.util.Collect ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- Java基础学习-- 继承 的简单总结
代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- 黑马程序员:Java基础总结----泛型(高级)
黑马程序员:Java基础总结 泛型(高级) ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- java基础学习总结——开篇
java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...
- Java基础学习笔记(一)
Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...
随机推荐
- [Android]Android焦点流程代码分析
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/7286503.html 通过View的View::focusSe ...
- [补档]暑假集训D1总结
归来 今天就这样回来了,虽然心里极其不想回来(暑假!@#的只有一天啊喂),但还是回来了,没办法,虽然不喜欢这个地方,但是机房却也是少数能给我安慰的地方,心再累,也没有办法了,不如好好集训= = %da ...
- Samba服务部署
Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做 ...
- HashMap遍历和使用
map的几种遍历方式: Map< String, String> map = new HashMap<>(); map.put("aa", "@s ...
- /etc/shadow,/etc/passwd,/etc/shadow,/etc/passwd文件的内容解释
1.1 /etc/passwd文件内容格式 该目录存储的是操作系统用户信息,该文件为所有用户可见 用户名: 密码 : uid : gid :用户描述:主目录:登陆shell 举个 ...
- 说说最近的项目情况吧(OLCS Part1)
这几天一直在做从04年项目的老代码移植到用portlet spring mvc框架的系统中,由于对业务逻辑的不清楚,代码没有认真的研究,导致各种问题.希望自己长点心吧♥
- Luogu P2966 [USACO09DEC]牛收费路径Cow Toll Paths
题目描述 Like everyone else, FJ is always thinking up ways to increase his revenue. To this end, he has ...
- Android -- 从源码的角度一步步打造自己的TextView
1,自定义控件一直是我们的痛点,今天就和大家一点点去了解了解,首先一般的自定义控件都是继承于View类,所以我们先来看看view的一些重要的方法,这是官方文档,大家想了解更多也可以去看看,这里我展示对 ...
- 从理解开始 谈谈px rem 和 em 的区别与联系
概述 古语有云,没有规矩则不成方圆.秦灭六国之后为了促进国内生产力的发展,也是大力推进全国度量衡的统一.车同轨,书同文.与"尺寸"相关的问题(手动滑稽),从古至今一直为人们所关注. ...
- OS作业模拟SJF和FCFS
一个OS的作业, 用于模拟短作业优先 和 先来先服务两种作业调度方式. #!/usr/bin/python3.5 ## Modify the SJF and FCFS algorithm in the ...