public static void main(String[] args) throws InstantiationException, IllegalAccessException { Class bounded = int.class; bounded = double.class; bounded = Number.class; bounded = Math.class; Class<?> bounded1 = int.class;//总结1: Class<?>和class没有区别,只是编译是不提示警告 bounded1 = double.class; bounded1 = Number.class; bounded1 = Math.class; Class<? extends Number> bounded2 = int.class;//总结2:Class<? extends T>可以和extents结合使用,可以用来限制? 的类型 bounded2 = double.class; bounded2 = Number.class; // bounded2 = Math.class;//error Math没有继承Number Class<Integer> bounded3 = int.class;//总结3: Class<T>必须指定一个类型。当然也不可以和extends结合使用 Object o = int.class;//Every class has {@code Object} as a superclass. o = double.class; o = Number.class; o = Math.class; System.out.println(o == bounded);//true System.out.println(o == bounded1);//true 总结4:Object可以实现Class Class<?> 的功能, // 但是要指定范围时只能用Class<? extends T> Class<?> bounded4 = ForName.class;// ForName.class也可以为 Class.forName("peng.liao.ForName"); Object o1 = bounded4.newInstance();//这里的o1是一个对象(ForName是我自定义的一个类)。 //这也算是Class Class<?>不能实现的, 非要说的话也是个区别吧 System.out.println(bounded);//class java.lang.Math System.out.println(bounded1);//class java.lang.Math System.out.println(bounded2);//class java.lang.Number System.out.println(bounded3);//int (PS:int.class 等价于 Integer.TYPE) System.out.println(bounded4);//class peng.liao.ForName System.out.println(o);//class java.lang.Math System.out.println(o1);//peng.liao.ForName@15db9742 }
相关推荐
本篇文章将带你入门Java泛型,通过实例深入理解其核心概念。 1. **泛型的基本概念** - 泛型是一种允许在定义类、接口和方法时使用类型参数的机制。这使得代码可以在编译时期检查类型,避免了不必要的类型转换,并...
- Java泛型在编译后会进行类型擦除,这意味着在运行时,所有的泛型类型信息都会被替换为它们的边界类型或`Object`。因此,泛型并不改变对象的实际类型,仅在编译时提供类型检查。 6. **泛型与集合** - Java集合...
Java SE编程入门教程涵盖了许多核心概念,其中包括Java泛型,它是从Java 1.5版本开始引入的一个重要特性。泛型允许我们在编写代码时指定类型参数,从而在编译时提供类型安全性和代码复用性。 Java中的泛型定义: ...
Java泛型的继承和实现操作示例 Java泛型的继承和实现操作示例主要介绍了Java泛型的继承和实现操作,结合实例形式分析了Java泛型类的继承以及泛型接口的实现相关操作技巧。 一、泛型类的继承 在Java中,泛型类可以...
Java基础入门系列是帮助初学者掌握Java编程的重要学习材料,本篇主要介绍了泛型、反射和注解这三大高级特性。 泛型是Java SE 5版本引入的一个新特性,它的主要目的是允许在使用类、接口和方法时能够引用到任何类型...
Java泛型定义与用法入门示例 Java泛型定义与用法是Java编程语言中非常重要的概念,它可以帮助开发者编写更加安全、灵活和可重用的代码。在本文中,我们将详细介绍Java泛型定义与用法,并通过实例形式分析了Java泛型...
关于java泛型的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!
最后,PPT可能还介绍了Java的高级话题,如反射、注解、泛型和设计模式。这些内容有助于提升你的编程技巧,使你能更好地应对复杂项目的需求。 总的来说,“java从入门到精通PPT”提供了一个全面的学习路线,从基础到...
Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程入门教程 java接口(共21页).pptx Java SE编程入门...
为了减少冗余代码,Java 7引入了钻石操作符`<>`,使得在创建泛型对象时可以省略类型参数,例如:`List<String> list = new ArrayList()`。 #### 5. **Switch语句支持字符串** 在Java 7之前,switch语句仅支持整数...
根据提供的文件信息,我们可以推断出这是一本关于Java编程语言的基础入门教程,由传智播客出版。虽然具体的PDF内容未给出,但从标题、描述和部分可见内容来看,本书主要面向初学者,旨在帮助他们掌握Java编程的基本...
Java泛型是Java编程语言中的一个重要特性,它在2004年随着Java SE 5.0的发布而引入。泛型的主要目的是提高代码的类型安全性和效率,同时减少在运行时进行类型检查和类型转换的需要。在这个“Java基础入门自学课件 第...
Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程入门教程 java接口(共21页).pptx Java SE编程入门...
Java泛型是自Java SE 5.0引入的一项重要特性,它允许在定义类、接口和方法时使用类型参数,从而增强了代码的类型安全性和可读性。泛型的使用可以减少强制类型转换的麻烦,并在编译时就发现可能存在的类型错误。本...
《Java入门到精通》是一本面向Java初学者的权威指南,旨在帮助读者快速掌握Java编程语言的基础知识并逐步深入到高级技术。这本书涵盖了从安装Java开发环境,理解基本语法,到构建复杂应用程序的全过程,是学习Java...
Java SE编程入门教程 java泛型(共11页).pptx Java SE编程入门教程 java封装继承多态(共56页).pptx Java SE编程入门教程 java集合(共38页).pptx Java SE编程入门教程 java接口(共21页).pptx Java SE编程入门...
Java泛型在编译期间执行类型检查,但在运行时,泛型信息会被擦除,这意味着所有泛型类最终都会转换为无参数的原始类型。这是为了保持向后兼容性,因为Java的泛型是伪泛型,它使用类型擦除来实现。 6. **泛型与数组...