泛型类定义的泛型,在整个类中有效。如果被方法是用,那么

泛型类的对象明确要操作的具体类型后,所有要操作的类型就已经固定了。

为了让不同的方法可以操作不同类型,而且类型还不确定。那么

可以将泛型定义在方法上。

泛型类

class Demo

{

public void show(T t)

{

System.out.println("show: "+t);

}

public void print(T t)

{

System.out.println("show: "+t);

}

}

class GenericDemo4

{

public static void main(String[] args)

{

Demod = new Demo();

d.show(new Integer(4));

Demod1 = new Demo();

d1.print("haha");

}

}

结果:

show: 4

show: haha

泛型方法

class Demo

{

public void show(T t)

{

System.out.println("show: "+t);

}

public void print(Q q)

{

System.out.println("print:"+q);

}

}

class GenericDemo4

{

public static void main(String[] args)

{

Demo d = new Demo();

d.show("hello boy!");

d.print("Alex i love you !");

}

}

结果:

show: hello boy!

print:Alex i love you !

同时定义泛型类和泛型方法

class Demo

{

public void show(T t)

{

System.out.println("show: "+t);

}

public void print(Q q)

{

System.out.println("print:"+q);

}

}

class GenericDemo4

{

public static void main(String[] args)

{

Demo d = new Demo();

d.show("hello boy!");

d.print("Alex i love you !");

d.print(5);

d.print("heiei");

}

}

结果:

show: hello boy!

print:Alex i love you !

print:5

print:heiei

特殊之处:

静态方法不可以访问类上定义的泛型

如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上。

class Demo

{

public void show(T t)

{

System.out.println("show: "+t);

}

public void print(Q q)

{

System.out.println("print:"+q);

}

public static void method(W t)

{

System.out.println("method: "+t);

}

}

class GenericDemo4

{

public static void main(String[] args)

{

Demo d = new Demo();

d.show("hello boy!");

d.print("Alex i love you !");

d.print(5);

d.print("heiei");

Demo.method("hihi");

}

}

结果:

show: hello boy!

print:Alex i love you !

print:5

print:heiei

method: hihi

泛型定义在接口上

interface Inter

{

void show(T t);

}

//第一种

class InterImpl implements Inter

{

public void show(String t)

{

System.out.println("show :"+t);

}

}

/*第二种

class InterImplimplements Inter

{

public void show(T t)

{

System.out.println("show :"+t);

}

}

*/

class GenericDemo5

{

public static void main(String[] args)

{

/*

InterImpl i = new InterImpl();

i.show(4);

*/

InterImpl i = new InterImpl();

i.show("haha");

}

}

结果:

show :haha

第一种相对来说就比较死,固定为String类型了。而第二种可以自己定义。

java 泛型类 静态方法_JAVA——泛型类和泛型方法(静态方法泛型)相关推荐

  1. java访问静态方法_JAVA:正确访问静态方法

    小编典典 首先,我想指出关键字"静态"的含义. 静态变量 每个类仅存在一次- 也就是说,如果使用静态变量创建一个类,则该类的所有实例将共享该变量.此外,如果它是一个公共静态变量,那 ...

  2. java静态成员方法_java的静态成员、静态方法的注意事项!

    在JAVA中,存在内部类和外部类,如果出现有static时,大家应注意: 1. 静态内部类不能直接访问外部类的非静态成员,但可以通过new 外部类().成员 的方式访问 2. 如果外部类的静态成员与内 ...

  3. java8接口写静态方法_Java 8接口更改–静态方法,默认方法

    java8接口写静态方法 Java 8 interface changes include static methods and default methods in interfaces. Prio ...

  4. mongodb java条件查询_java实现对mongodb,泛型封装增删查改、条件查询等操作

    本文实现一个通用泛型封装实现类,需要给定一个集合对象,类似mysql中与java对应的表:思想就是把给定的对象解析出所有非空字段,保存到一个BasicDBObject中,这里一定要保证java对象与m ...

  5. 【Java 泛型】泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )

    文章目录 一.泛型简介 二.泛型类 三.泛型方法 四.静态方法的泛型 五.泛型类与泛型方法完整示例 一.泛型简介 泛型 可以 简单理解为 参数化类型 , 主要作用在 类 , 方法 , 接口 上 ; j ...

  6. 【Java 泛型】泛型用法 ( 泛型类用法 | 泛型方法用法 | 泛型通配符 ? | 泛型安全检查 )

    文章目录 一.泛型类用法 二.泛型方法用法 三.泛型通配符 <?> 四.泛型安全检查 五.完整代码示例 1.泛型类 / 方法 2.main 函数 一.泛型类用法 泛型类用法 : 使用时先声 ...

  7. java 泛型应用,通用返回类,泛型方法,泛型静态方法

    java 泛型应用,通用返回类,泛型方法,泛型静态方法 泛型简介 应用示例 静态方法增加泛型参数 调用静态公有方法 对比调用非静态公有方法(成员方法) 泛型简介 这里不多说明,详见 java泛型入门 ...

  8. Java系列之:泛型类、泛型方法、泛型接口

    Java系列之:泛型类.泛型方法.泛型接口 一.泛型 二.泛型类 三.泛型方法 四.泛型接口 五.类型通配符 一.泛型 泛型:本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.将类型由原来的 ...

  9. java 获取子类实际的类型名_Java 泛型类 以及 泛型类获取子类的具体参数类型 以及 获取子类型具体参数的实例...

    前言: 要点都在代码注释中 1.泛型类 GenericInterface package com.demo.generic; import java.lang.reflect.Parameterize ...

最新文章

  1. 换人!这些算法都不会还搞什么操作系统
  2. redis分布式锁实现思路
  3. 项目小结:日立OA系统(Asp.net)
  4. 脑机接口EEG信号分类算法
  5. xgboost算法_详解xgboost算法的样本不平衡问题
  6. python3 和python2文件相互转换
  7. HDOJ 2041 超级楼梯
  8. 滴水穿石--MYSQL导入导出常用命令
  9. 爬虫侵入计算机系统,【探讨】利用“爬虫技术”获取数据行为的刑事考量 ——以一起非法获取计算机信息系统数据案为例...
  10. 为集合排序的三个方法
  11. 第11章-img特征,vertical-align,cursor,opacity
  12. HDU 5145 - NPY and girls
  13. 谁说我们没有美国富---中国公款消费一年X掉9个航母战斗群
  14. [Erlang 0017]Erlang/OTP基础模块 proc_lib
  15. 大学计算机基础应用教程ppt,大学计算机基础教程.ppt
  16. viewstub学习笔记
  17. Docker安装ELK详细步骤(生产试验,适用所有版本)
  18. WPS文字的字数统计在哪?如何查看当前文档有多少个字?
  19. linux上的python开发工具_linuxpython开发工具,在linux下开发python使用什么工具好
  20. 自组织特征图(SOFM)详解

热门文章

  1. vivo X3拆机 5.75mm全球最薄顶级Hi-Fi
  2. 还在用数据线调试手机?我教你无线调试
  3. stm32 cubemx usb spi flash w25q128 u盘调试笔记
  4. Arduino使用震动开关
  5. Android 跳转应用权限设置页面 适配小米系统
  6. linux系统frpc程序下载安装,ubuntu18.04 frpc安装与自动启动
  7. 批量测试DNS访问速度的脚本
  8. 终结所有短信猫(GPRS,GSM,CDMA,PHS)的发短信问题,以及想语音告警的问题!
  9. unc 目录不受支持_DOS批处理不支持将UNC 路径作为当前目录的巧妙解决方案
  10. js构造函数创建对象