泛型,java,就业班
来源:互联网 发布:手机淘宝的物流在哪看 编辑:程序博客网 时间:2024/05/01 03:16
—–## 自定义泛型 ##
原理:自定义泛型可以理解为是一个数据类型的占位符,或者理解为是一个数据类型的变量
1. 泛型方法
泛型方法格式:
泛型方法的定义格式: 修饰符 <声明自定义泛型>返回值类型 函数名(形参列表){
}
注意:
1.1.在方法上的自定义泛型的具体数据类型是调用该方法时传入实参时确定的
1.2.自定义泛型使用的标识符只要符合标识符的命名规则即可
实战需求:定义一个函数可以接收任意类型的参数,要求参数的返回值类型与实参的数据类型要一致
代码如下
public class GenecityMethod { public static void main(String args[]){ Integer i = print(12);//Integer String s = print("abc");//String System.out.println(i); System.out.println(s); } //<T>把T字母声明为自定义的泛型 public static <T> T print(T o){ return o; }}
2.泛型类
泛型类的定义格式:
class 类名<声明自定义的泛型>{
}
注意:
2.1.在类上自定义的反省你的具体数据类型实在创建对象的时候指定的
2.2.在类上自定义了泛型,如果创建该类的对象时没有指定泛型的具体类型,则默认为Object类型
实战需求自定义一个集合对象
代码如下:
class MyList <T>{ Object[] arr; int index = 0; public MyList(){ arr = new Object[10]; } public void add(T o){ arr[index++] = o; }}public class GenecityClass { public static void main(String args[]){ MyList<String> list = new MyList<String>(); list.add("123"); MyList list2 = new MyList(); list2.add(123);//若不指定自定义类型,则为Object类型 }}
泛型接口
泛型接口的定义格式:
interface 接口名<声明自定义的泛型>{}
注意:
3.1.在接口上自定义泛型的具体的数据类型是在实现该接口的时候指定的 对应第一种
3.2.如果一个接口自定义了泛型,如果实现该接口时时没有指定泛型的具体类型,则默认为Object类型
如果想在创建接口实现类对象的时候再指定接口自定义泛型的具体数据类型? 对应第二种
实战需求两种方法实现
代码如下:
//接口中public interface GenecityInterface<T> { public void add(T t); public void remove(T t); }//类中/*第一种,实现该接口的时候指定自定义泛型的具体的数据类型 * public class i implements GenecityInterface<String>{ @Override public void add(String t) { // TODO Auto-generated method stub } @Override public void remove(String t) { // TODO Auto-generated method stub }}*//*第二种,在创建接口实现类对象的时候再指定接口自定义泛型的具体数据类型 * public class i<T> implements GenecityInterface<T>{ public static void main(){ new i<String>(); } @Override public void add(T t) { // TODO Auto-generated method stub } @Override public void remove(T t) { // TODO Auto-generated method stub }}
阅读全文
0 0
- 泛型,java,就业班
- 0100 Java就业班课程表
- java就业
- JAVA软件工程就业班开课咯
- 广州传智播客0515JAVA就业班开班
- 广州传智播客0615JAVA就业班开班
- 广州传智播客0615JAVA就业班体育活动
- 广州传智播客0615JAVA就业班体育活动
- 【备忘】传智播客-Java就业班 视频教程下载
- 成都传智播客java就业班(14.04.01班)就业快报(Java程序员薪资一目了然)
- Java就业方向和自学提升方法总结黑马就业班资源分享
- 《Java就业培训》
- JAVA软件工程师就业前景
- JAVA软件工程师就业前景
- JAVA软件工程师就业前景
- Java 就业前景
- Java程序员就业前景
- Java就业前景
- 整合SSH java.lang.ClassCastException: xxx_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy
- Android仿ios年龄滚轮大全
- HDU 1079 Calendar Game
- windows下Mysql多实例安装说明
- android,安卓,TabLayout + ViewPager + Fragment
- 泛型,java,就业班
- JAVA编译和运行环境的配置
- 算法
- leetcode --21. Merge Two Sorted Lists
- 123123
- Andrid弹框开源
- 线段树基本入门知识
- webpack打包字体路径不对问题
- 外部耦合