java泛型和异常

1.泛型指允许在定义类、接口、方法时使用类型参数,一般用T表示,但是要在声明变量、创建对象、调用方法时动态指定(称为类型实参)。

2.在创建了带泛型声明的接口或父类之后,可以为该接口实现类或者从该父类派生子类,但使用这些接口或父类是不能再包含类型形参的。以下两种方法:public class Apple{}   ①class A1 extends Apple{}  父类中所有使用泛型的地方都被替换成String类型②class A2 extends Apple{}  父类中所有使用泛型的地方都被替换成Object类型。

3.不管为泛型的类型形参传入哪一种类型实参,它们依然是一个类,getClass方法判断相等。有关静态的一切都不允许使用类型形参。

4.类型形参的限定,T和绑定类型既可以是类也可以是接口,绑定类型用&分隔,类型参数用逗号分隔,绑定类型至多只有一个类且位于绑定列表第一个。

5.类型通配符的限定

6.泛型方法的定义:修饰符 返回值类型 方法名(形参列表)

1.异常的产生:当程序代码块出现异常时,系统自动生成一个异常对象,该异常对象被提交给Java运行时环境。

2.异常捕获:当Java运行时环境接收到异常对象后,会依次判断该异常对象是否是catch块后异常类或其子类的实例,如果是Java运行时环境将调用该catch块来处理该异常;否则进行下一次比较。

3.finally语句除非调用了退出虚拟机的方法,否则都会在方法终止(return 或异常抛出)之前执行。如果没有try块就不能有catch块和finally块,如果有try块至少有catch块或finally块中的一个。

4.异常声明抛出:在方法签名后跟throws ExceptionClass1, ExceptionClass2...规定当调用另外一个已抛出异常的方法或者程序运行过程中发现错误并且利用throw语句抛出时必须声明异常。

5.异常抛出指在程序代码块中使用 throw ExceptionInstance;自行抛出一个异常实例。当抛出的异常是检查异常(IOException)时要么显式捕获该异常要么该方式带throws声明抛出。如果抛出的异常是RuntimeException既可以显式捕获也可以不作处理,会自动把该异常交给调用者处理。

你可能感兴趣的:(Java知识点)