摘要:
泛型可以理解为在类上贴了一个标签,作用是编译器通过标签确定类型。在底层运行时会先执行一个“类型擦除”的操作 那么有什么方法可以使类跳过泛型检查呢?我们可以使用反射使类在编译的时候越过泛型检查。 示例代码: 阅读全文
摘要:
★ Method没有构造器,只能通过Class获取。 重点方法: class.getDeclaredMethods():获取所有方法。 class.getDeclaredMethod(String name, Class<?>... parameterTypes): 根据方法名获取方法,name是方 阅读全文
摘要:
主要方法: 暴力访问会破坏对象的封装性,解决方法为: 阅读全文
摘要:
★ 每一个对象运行时都有一个对应的Class对象,Class(查API)的获取有三种方式: ① 已有对象,调用对象的getClass方法(Object类中的getClass方法) ② 类型.class ③ 不知道对象,只有对象的全限名字符串Class.forName(String className 阅读全文
摘要:
★ 泛型是 JDK 1.5 版本引进的概念,之前是没有泛型的概念的,但泛型代码能够很好地和之前版本的代码很好地兼容。 CollectionTest.java 编译成CollectionTest.class JVM中运行 因为泛型信息只存在于代码编译阶段,编译器编译完带有泛形的java程序后,生成的c 阅读全文
摘要:
通配符?,?表示占位,表明将来使用的时候在指明类型 <?>无限定的通配符, 是让泛型能够接受未知类型的数据 <? extends E> 有上限通配符,能够接受指定类及其子类类型的数据,E就是该泛型的上边界 注意:这里不仅继承了父类E的子类,也可以代指显现了接口E的类 <? super E>:有下限的 阅读全文
摘要:
问题产生原因:moudle名称修改,导致项目启动不了 在Terminal界面中执行以下三个命令,我在执行第一个命令的时候报了一个找不到dependency的错误,把那个报错的dependency删了就好了。 mvn clean compile,将项目重新编译 mvn install,打包 阅读全文
摘要:
经常会遇到从GitHub上download的progect在idea里面打开是普通文件夹形式,而并不是我们想要的module形式(文件夹图标右下角有个蓝色的tag),那么如何快速转换成我们想要的module形式呢? 1、右击project,选择第二项“add framework support”,然 阅读全文
摘要:
项目结构需要有一个target目录,需要一个src目录, 提示: 添加类的target,编译文件存放地址 阅读全文
摘要:
泛型接口: 定义一个泛型接口: 通过类去实现这个泛型接口的时候指定泛型T的具体类型。 指定具体类型为Integer: 指定具体类型为String: 指定具体类型为一个自定义的对象: 泛型类: 在编译器,是无法知道K和V具体是什么类型,只有在运行时才会真正根据类型来构造和分配内存。 泛型方法: 引用其 阅读全文