读书摘要--Java程序设计5-6章:多态+异常

来源:互联网 发布:mysql不等于字符串 编辑:程序博客网 时间:2024/06/05 17:14

<书籍> Java程序设计

1.变量

  • 域变量和局部变量:域变量在对象中存储在堆中,局部变量随着方法调用结束而结束在栈中;如果没有被赋值,域标变量会被自动赋值,局部变量不会且必须显示赋值后才能使用;
  • 基本型数据在传递给函数时进行的是值传递,因此变量不会在函数内被改变;引用型数据(对象的引用)则由于传递的引用,对象数据有可能被改变。

2.多态

  • 覆盖(Override):子类覆盖父类的方法实现多态;重载(Overload):同一个类中定义同名的不同方法;
  • 被final定义的方法,不能进行动态绑定;static或者private的方法也不能被子类覆盖;
  • instanceof 运算符运行时判断对象的实际类型。类似还可以用getClass方法。

3. 构造方法的执行顺序

  1. 调用本类或者父类的构造方法直至最深一层;
  2. 按声明顺序执行域的初始化赋值;
  3. 执行构造方法的各语句。

4. catch块顺序

  • 一般滴,处理较具体和较常见的异常的catch语句放在前面,因为异常捕获后之后其他catch语句就被忽略;
  • 处理多种异常的catch放在较后面的位置;
  • 若子类异常放在父类异常后面,则编译不通过。

5. 异常链接

  • 目的:捕获异常后进一步传递给调用者,以便调用者更好的了解这个异常;
  • 处理方式: throw new Exception("some message", e);
  • 可以通过getClause方法得到这个内部异常。


0 0
原创粉丝点击