###异常种类
###Exception类的层次
###java内置异常类
Java 定义了一些异常类在java.lang标准包中。
标准运行时异常类的子类是最常见的异常类。由于java.lang包是默认加载到所有的Java程序的,所以大部分从运行时异常类继承而来的异常都可以直接使用。
常见的运行时异常如下表所示:
异常 | 描述 |
---|---|
ArithmeticException | 当出现异常的运算条件时,抛出此异常。例如,除数为0,抛出此类的一个实例。 |
ArrayIndexOutOfBoundsException | 用非法索引访问数组时抛出的异常。索引为负或大于等于数组大小,则该索引为非法索引。 |
ArrayStoreException | 试图将错误类型的对象存储到一个对象数组时抛出的异常。 |
ClassCastException | 当试图将对象强制转换为不是实例的子类时,抛出该异常。 |
IllegalArgumentException | 抛出的异常表明向方法传递了一个不合法或不正确的参数。 |
NullPointerException | 当应用程序试图在需要对象的地方使用 null 时,抛出该异常。 |
NumberFormatException | 当试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。 |
常见的几个检查性异常:
异常 | 描述 |
---|---|
ClassNotFoundException | 试图加载类时,找不到相应的类,抛出该异常。 |
IllegalAccessException | 拒绝访问一个类的时候,抛出该异常。 |
InterruptedException | 一个线程被另一个线程中断,抛出该异常。 |
NoSuchFieldException | 请求的变量不存在 |
NoSuchMethodException | 请求的方法不存在 |
参数 | 意义 |
---|---|
java.version | Java 运行时环境版本 |
java.vendor | Java 运行时环境供应商 |
java.vendor.url | Java 供应商的 URL |
java.home | Java 安装目录 |
java.vm.specification.version | Java 虚拟机规范版本 |
java.vm.specification.vendor | Java 虚拟机规范供应商 |
java.vm.specification.name | Java 虚拟机规范名称 |
java.vm.version | Java 虚拟机实现版本 |
java.vm.vendor | Java 虚拟机实现供应商 |
java.vm.name | Java 虚拟机实现名称 |
java.specification.version | Java 运行时环境规范版本 |
java.specification.vendor | Java 运行时环境规范供应商 |
java.specification.name | Java 运行时环境规范名称 |
java.class.version | Java 类格式版本号 |
java.class.path | Java 类路径 |
java.library.path | 加载库时搜索的路径列表 |
java.io.tmpdir | 默认的临时文件路径 |
java.compiler | 要使用的 JIT 编译器的名称 |
java.ext.dirs | 一个或多个扩展目录的路径 |
os.name | 操作系统的名称 |
os.arch | 操作系统的架构 |
os.version | 操作系统的版本 |
file.separator | 文件分隔符(在 UNIX 系统中是“/”) |
path.separator | 路径分隔符(在 UNIX 系统中是“:”) |
line.separator | 行分隔符(在 UNIX 系统中是“/n”) |
user.name | 用户的账户名称 |
user.home | 用户的主目录 |
user.dir | 用户的当前工作目录 |
代码示例:
主要参考YOUKU上李绪成老师的javaweb视频学习,感谢李绪成老师提供简单易懂的视频教程。
###1.MVC模式
a. M表示模型model,完成处理,如编写的Service、DAO、实体类。
b. V表示视图View,完成与用户的交互,输入界面和输出界面,编写jsp、freemarker或html文件。
c. C表示控制器Controller,协调输入、处理和输出之间的关系,使用Servlet实现。
###2.输入界面
有输入就需要form:
<form action="目标" method="post|get">
......
</form>
转载自:http://blog.csdn.net/jackystudio/article/details/17243251
###1.重载和覆盖
在了解隐藏之前,得先分清楚重载和覆盖。
- 重载:对同一个类而言的,函数名相同,函参不同,因为是在同一个类中,所以是否是virtual并不重要。
- 覆盖:对基类和派生类而言。函数名相同,函参相同,必须是virtual函数。
如下示例,1和2是重载关系,而1和3是覆盖关系。
###2.隐藏
首先隐藏也是发生对基类和派生类而言的,所以主要就是要理清隐藏和覆盖的差异。
- 如上所述,覆盖要求是virtual函数,所以如果是不带virtual的同名同参函数,那么就是隐藏。
- 不管有没有virtual标识,函参不一样,那么也是隐藏。
##cocos2d-x节点类CCNode
转载自:http://blog.csdn.net/jackystudio/article/details/12703741
节点类CCNode可以说是游戏元素的祖宗了,基本上我们看得到的游戏元素都是以它为原型进行扩展的。像CCScene,CCLayer,CCSprite,CCMenu,CCSpriteBatchNode等等都是从CCNode继承而来。另外如果我们要自定义精灵,那么从CCNode继承也是一个很不错的选择。
CCNode直接从CCObject继承而来,有如下几个特点:
(1)可以包含其他CCNode节点,可以进行添加/获取/删除子节点操作。
(2)可以执行周期性的回调任务。
(3)可以执行动作。
一些子类化的节点提供了更为丰富的特性和功能。