JAVA学习知识点汇总

异常处理

  1、在异常处理中,如果子类覆盖了父类的一个方法,子类方法中声明的已检查异常不能比父类方法声明的异常更通用,即子类方法可以抛出更特定的异常(不超过父类方法声明的异常范围,即由父类方法声明异常派生的子异常),或者不抛出任何异常。并且,如果父类方法没有抛出异常,子类也不能抛出任何已检查异常。

  个人理解:由于面向对象具有多态的特性,即父类可以引用子类对象,通过父类访问子类方法实现多态(重写)。在这个调用链中,子类方法不能抛出父类方法无法接受的异常,即父类声明的异常应该更通用。

泛型

  1、泛型类定义是在类名后边声明泛型参数,如A<T>;泛型方法与其所在的类是否为泛型没有关系,定义方式是只需将泛型参数置于返回值之前。

  基本原则尽量使用泛型方法,即泛型方法替代泛型类;另外,对于static方法而言,无法访问泛型类的类型参数,故若static方法需要泛型,就必须使用泛型方法。

  2、当时用泛型类时,必须在创建对象的时候指定类型参数的值;当使用泛型方法时,通常不必指明参数类型,编译器可通过“类型参数推断”找到具体类型(故泛型方法可以接受任意类型)。

原文地址:https://www.cnblogs.com/shuimuzhushui/p/6940657.html