考试说明与知识回顾
Created: 2023-12-12 Tue 21:30
java
与 javac
命令的用途是什么?标识符 是赋予 变量 、 类 、 方法 、 数组 等的 名称 。
Java对于 标识符的定义 有如下的规定:
- 可以由 字母 、 数字 和 两个特殊字符 ( 下划线
_
及 美元符号$
)组合而成。- 标识符必须以 字母 、 下划线
_
或 美元符号$
开头。- Java是大小写敏感的语言,
class
和Class
、System
和system
分别代表 不同的 标识符 。- 应该使标识符尽量反映它所表示的 变量 、 常量 、 对象 或 类 的 意义 。
- 关键字 不能 作为 标识符 。
this
super
class
标志类定义的开始;class
关键字后面跟着用户定义的类的 类名 ;abstract
修饰符 修饰的类被称为 抽象类 。
抽象类就是 没有具体对象 的 概念类 。abstract
修饰符 修饰的方法被称为 抽象方法 ;final
修饰符 所修饰和限定,
说明这个类 不能 再有 子类 。final
修饰符 所修饰和限定,
说明这个域 不能 改变 数值 ,即为 常量 。final
修饰符 说明 常量 时,需要注意以下几点:
static
。static
修饰的 域 是 仅属于类 的 静态域 ;static
修饰的 方法 是 属于整个类 的 类方法 ;static
修饰的 方法 是 属于某个具体类对象或实例 对象方法 ,或叫做 实例方法 ;
- 接口 可理解为是由 常量 和 抽象方法 组成的 特殊类 。
- 一个类只能有一个父类,但是它可以同时实现若干个接口。
- 与类相仿,接口也具有 继承性 ,但与类的继承不同的是一个接口可以有 一个以上 的父接口。
interface
标志接口定义的开始;interface
关键字后面跟着的是 接口名 ;public static final
修饰的 常量 和
用 public abstract
修饰的 抽象方法 两大部分;implements
关键字声明该类将要实现哪些接口;abstract
抽象类,则在类的定义部分必须实现指定接口的所有抽象方法;abstract
抽象类,则它可以不实现该接口所有的方法,
但该抽象类的非抽象子类必须实现其父类中未实现的抽象方法;public
修饰符,避免缩小接口中定义方法的访问控制范围。访问控制符 是一组限定 类 、 属性 或 方法 是否可以被 程序中的其他部分 访问 和 调用 的 修饰符 。 这里的 其他部分 是指程序里这个类之外的 其他类 。
无修饰的 默认类 | public 修饰的 公共类 |
|
---|---|---|
同一包中的类 | 可以访问 | 可以访问 |
不同包中的类 | 不可访问 | 可以访问 |
参考教材
类成员访问控制符 | public |
protected |
无修饰 | private |
---|---|---|---|---|
可以访问类成员的区域 | 所有类 | 包中的类 所有子类 | 包中的类 | 本类 |
类成员访问控制符 | public |
protected |
无修饰 | private |
---|---|---|---|---|
可以访问类成员的区域 | 包中的类 | 包中的类 | 包中的类 | 本类 |
参考教材
package
语句的编译单元中定义的类所在的包为 无名包 ;package
语句,则该语句必须为Java源文件的 第一条 语句,
指明该编译单元中定义的类属于哪个 有名包 ;package
语句。import
语句不限一个,但必须出现在所有类定义之前。catch
块紧跟在 try
块的后面,用来接收 try
块中可能产生的异常。try
块后面可能会跟着若干个 catch
块,每个 catch
块都有一个异常类名作为参数。
try
块中所有语句的执行都没有引发异常,则所有的 catch
块都会被忽略而不予执行;try
块产生的异常对象被第一个 catch
块所接收,
则程序的流程将直接跳转到这个 catch
语句块中,语句块执行完毕后就退出当前方法,
try
块中尚未执行的语句和其他的 catch
块将被忽略;try
块产生的异常对象与第一个 catch
块不匹配,
系统将尝试按顺序匹配接下来的 catch
块,
直到找到一个可以接收该异常对象的 catch
块;catch
块都不能与当前的异常对象匹配,
程序流程将返回到调用该方法的上层方法,继续抛出异常;finally
块内的语句都会被执行;catch
块,若其参数与所抛出异常对象的类型相同或是所抛出异常对象的父类,则接受异常对象,进行处理;catch
块完成了异常处理,程序将继续执行最后一个 catch
块或 finally
块后的语句。class Main {
public static void main(String[] args) {
double j = 0;
try {
for (int i = 1; i >= -1; i--) {
j = 8 / i;
System.out.println("try, i: " + i);
}
} catch (Exception e) {
System.out.println(e);
} finally {
System.out.println("finally");
}
System.out.println("after try-catch block");
}
}
try, i: 1 java.lang.ArithmeticException: / by zero finally after try-catch block
File
https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/io/File.html
RandomAccessFile
https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/io/RandomAccessFile.html
是什么?如何理解?
Connection
https://docs.oracle.com/en/java/javase/18/docs/api/java.sql/java/sql/Connection.html
Statement
https://docs.oracle.com/en/java/javase/18/docs/api/java.sql/java/sql/Statement.html
ResultSet
https://docs.oracle.com/en/java/javase/18/docs/api/java.sql/java/sql/ResultSet.html
URLConnection
https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/net/URLConnection.html
Socket
https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/net/Socket.html
ServerSocket
https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/net/ServerSocket.html