Java学习之泛型和异常
泛型
1,设计原则或目的:只要代码在编译的时候没有错误,就不会抛异常。
2,泛型通配符 :类型通配符一般是使用 ? 代替具体的类型实参。注意了,此处是类型实参,而不是类型形参!相当于(父类作用)List<?>
3,类型通配符上限: 定义List<?extends Number>:表示类型只能是Number和其子类
4,类型通配符下限;同理:List<? supper Integer>:表示类型只能是Integer和其父类
5,并且还要注意的一点是,Java中没有所谓的泛型数组一说
异常
异常目的:保证程序的健壮性,异常机制有:处理规则(先处理小异常在处理大异常)五个关键字:
try:处理程序
catch:捕获异常
finally:在异常机制中一定会在结束前执行的,用于回收try中的物理资源,注意:如果finally使用了
throw或return,会导致try和catch中的throws和return失效,因此不推荐在finally中使用throw或return;
throw:在try-catch里面
throws(方法签名,表示可能抛出的异常即在方法体上常见;public void method throws IoExecption(){}
异常继承机制:
Error:一般指与虚拟机相关的问题,如系统崩溃,虚拟机错误等无法恢复和不可捕获,将导致应用程序中断的错误。
异常分类:
1,Checked:显示性异常,认为用户自己可以处理的,用throws抛出声明和try catch方法抛出
2,Runtime:隐式异常,只通过try-catch方法抛出
常见的异常有,详细见这里:
1,java.lang.NullPointerException(空指针异常)
2,java.lang.ClassNotFoundException(没找到类)
3, java.lang.NumberFormatException( 字符串转换为数字异常 )
4,java.lang.IndexOutOfBoundsException(数组下标越界)
5,java.lang.IllegalArgumentException(非法参数)如个数,类型等
6,java.lang.IllegalAccessException(没有访问权限)
7,java.lang.ArithmeticException(数学运算异常,如除0)
8,java.lang.ClassCastException(类型转换错误)
9, java.lang.FileNotFoundException(文件未找到异常),多是路径问题
10, java.lang.ArrayStoreException(数组存储异常),类型不搭配
11,java.lang.NoSuchMethodException(方法不存在异常)
12,java.lang.InterruptedException(被中止异常,多由于时间过长等待,休眠等暂停状态)
13,java.lang.OutOfMemoryException(内存不足)
14,还有IOExecption,SQLExecption,SocketExecption,SecurityExecption
Java学习之泛型和异常的更多相关文章
- Java学习之——泛型
1.概要 generics enable types (classes and interfaces) to be parameters when defining classes, interfac ...
- Java学习笔记35(异常)
代码在运行中发生的问题就是异常 java中把多种异常封装多个类,当程序出现问题时候,就会创建异常类对象并且抛出相关信息 异常体系: Throwable类是Java中所有错误或异常的父类 Throwab ...
- Java学习笔记26(异常)
异常的定义: Java代码在运行过程中发生的问题就是异常 异常类:出现问题就会常见异常类对象,并抛出异常的相关信息,异常的位置,原因 异常体系: Throwable类是java中所有错误或异常的父类 ...
- Java学习笔记--泛型
一个泛型类就是具有一个或者多个类型变量的类. 我们可以只关注泛型,而不会为数据存储的细节而烦恼 . java泛型(一).泛型的基本介绍和使用 http://blog.csdn.net/lonelyro ...
- JAVA学习之泛型
ArrayList<E>类定义和ArrayList<Integer>类引用中涉及的术语:1.整个ArrayList<E>称为泛型类型 2.ArrayList< ...
- 5 Java学习之 泛型
1. 基本概念 泛型是Java SE 1.5的新特性,泛型的本质是 参数化类型 ,也就是说所操作的 数据类型 被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为 ...
- Java学习笔记——泛型
假定T不仅要指定接口的类继承.使用下面的方式: public class some<T extends Iterable<T> & Comparable<T>&g ...
- Thinking in Java学习笔记-泛型和类型安全的容器
示例: public class Apple { private static long counter; private final long id = counter++; public long ...
- Java学习点滴——泛型
基于<Java编程思想>第四版 前言 虽然Java的泛型在语法上和C++相比是类似的,但在实现上两者是全然不同的. 语法 Java只需要一个<>就可定义泛型.在<> ...
随机推荐
- [bzoj] 1036 Count
原题 树链剖分板子题 树剖详解: #include<cstdio> #include<algorithm> typedef long long ll; #define N 30 ...
- BZOJ4825 [Hnoi2017]单旋 【线段树】
题目链接 BZOJ4825 题解 手模一下操作,会发现一些很优美的性质: 每次旋到根,只有其子树深度不变,剩余点深度\(+1\) 每次旋到根,[最小值为例]右儿子接到其父亲的左儿子,其余点形态不改变, ...
- NOIP2017赛前模拟11月2日总结
分数爆炸的一天··但也学了很多 题目1:活动安排 给定n个活动的开始时间与结束时间··只有一个场地··要求保留尽量多的活动且时间不冲突···场地数n<=100000 考点:贪心 直接将结束时间按 ...
- College student reflects on getting started in open source(一)
I just completed the first semester of my second year in college, and I'm reflecting on what I learn ...
- BAT脚本编写教程入门提高篇
BAT脚本编写教程入门提高篇 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”. %[1-9]表示参数,参数是指在运行批处理 ...
- 【Git】GitHub的SSH提交配置[
Git可以通过https方式和ssh方式连接服务器上的仓库. 两者比较: 1.https: 比较方便,但是每次fetch和push代码都需要输入账号和密码,略显麻烦 2.ssh: 传输前压缩数据,传输 ...
- 嵌入式Linux中摄像头使用简要整理【转】
转自:http://www.cnblogs.com/emouse/archive/2013/03/03/2941938.html 本文涉及软硬件平台: 开发板:飞凌OK6410 系统:Ubuntu 1 ...
- 记录常见的HTTP请求错误
服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF 解决方案:winfrom 在app.config种添加 web 在 web.config种添 ...
- 恢复安装过树莓派相关操作系统的TF卡容量
原文地址:传送门 前言玩树莓派的都知道,当我们向TF卡写入系统后,在Windows下能识别的只有几百M的容量了,这主要是由于在装Linux系统的时候给TF卡分了Windows无法识别的分区,下面我用图 ...
- RQNOJ PID217 / [NOIP1999]拦截导弹【n^2 / LIS】
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...