OCA/OCP Java Note (11): Exceptions
1. Understanding Exception Types Java中异常的种类如图1所示。 Error用于指示严重错误,程序不应尝试从错误中恢复。RuntimeException和其子类表示运行时异常,用于指示意外的非致命异常,也被称为unchecked exception。 Runtime (Unchecked) exception是异常的一个种类,并不是指在程序运行期间(r…
Read more
learn, build, evaluate
1. Understanding Exception Types Java中异常的种类如图1所示。 Error用于指示严重错误,程序不应尝试从错误中恢复。RuntimeException和其子类表示运行时异常,用于指示意外的非致命异常,也被称为unchecked exception。 Runtime (Unchecked) exception是异常的一个种类,并不是指在程序运行期间(r…
Read more
3. Implementing Interfaces 3.1. Defining an Interface 接口不能直接实例化。 一个接口中可以不包含任何方法。 接口不能标记为final。 顶层接口默认具有public或default的访问限制和abstract修饰符,将接口标记为private/protected/final会导致编译错误。此条不适用于内部接口。 接口中的所有非default方法…
Read more
1. Introducing Class Inheritance 1.1. Applying Class Access Modifiers 一个文件中可以有多个类,但最多只能有一个public类。 1.2. Defining Constructors 1.2.1. Understanding Compiler Enhancements 可以在子类的构造器中通过super() 显式地调用父类…
Read more
1. Designing Methods 1.1. Access Modifiers private default protected public 1.2. Optional Specifiers static abstract final synchronized native strictfp: strict float point,精确浮点,参考Wiki。 可选说明符要放在返回值类型…
Read more
5. Understanding an ArrayList 与数组类似,ArrayList是一个有序序列,且允许重复与元素。数组中元素的个数在声明时就已经确定,不可再更改,ArrayList可以在运行时改变大小。 import java.util.* // import whole package including ArrayList import java.util.ArrayList; …
Read more
1. Creating and Manipulating Strings 1.1. Concatenation 使用“+”运算符进行字符串拼接时,需要注意: 如果两个操作数都是数值,则+表示数值加; 如果有一个操作数时String,则+表示拼接; 表达式按照从左向右的顺序求值。 eg. System.out.println(1 + 2); // 3 System.out.println(&qu…
Read more
1. Working with Binary Arithmetic Operators 1.1. Arithmetic Operators Java中的求模运算可以作用于负数和浮点,对于给定的除数y和为负的被除数,求模的结果位于(-y + 1)和0之间。 1.2. Numeric Promotion 数值类型自动转换(提升)规则: 如果两个值具有不同的数据类型,Java将自动把其中一个值的…
Read more
12. Summary Java中的类由字段和方法组成,对象是类的实例。注释有三种类型:单行(//)、多行(/* */)和Javadoc(/** */)。 Java程序从main()方法开始执行,其最常见的签名为:public static void main(String[] args) 。在命令行下运行时,参数跟在类名的后面,如java NameOfClass firstArgumen…
Read more
8. Understanding Variable Scope 在方法中定义的变量称为本地变量,本地变量包括方法的参数。本地变量的作用域仅限于方法内部,并可以在方法内部有更小的作用域。如下面的例子: public void eatIfHungry(boolean hungry) { if (hungry) { int bitesOfCheese = 1; } // bitesOfCheese …
Read more
4. Creating Objects 4.1. Constructors 构造器的两个重要特征是名称与类名相同,且没有返回类型,下面的Chick() 不是构造器,因为它有返回类型void: public void Chick() { } // NOT A CONSTRUCTOR 4.2. Reading and Writing Object Fields 略 4.3. Inst…
Read more