说明:这是2007年复习SCJP期间的学习笔记(JavaSE 5.0),有部分遗失。现在整理一下发到Blog上,一方面做个备份,另一方面分享出来,希望对需要的人有用。
-----------------------
第一部分 声明和访问控制
1、标识符必须由字母、货币字符($)或连字符(_)开头,不能以数字开头。
2、Java中的几个关键字:
instanceof:测试类实例。
native:本地化。
striptfp:有关浮点运算的平台无关化。
transient:瞬时化。
volatile:挥发性变量。
3、package语句出现在import之前,位于最前,没有package或import语句,类声明必须位于源代码第一行。
4、一个文件可具有多个非公有类,不含公共类的文件可以具有与该文件中的任何类都不匹配的名称。
5、默认访问:看作包级访问,具有默认访问的类只能被同一个包中的类看到。
6、关于strictfp:该类中的所有方法代码在处理浮点数时将遵守IEEE-754标准规则,使得浮点数操作与平台无关。
7、可以编译并执行一个abstract类,只要不试图创建它的实例即可。
8、可以把非抽象方法放在抽象类中。
9、所有接口方法隐含都是公共的和抽象的(接口方法总是公共的和抽象的)。
10、接口中定义的所有变量必须是公共的,静态的和最终的。
接口方法一定不能为static。
接口中定义的变量不能更改值。(隐含是公共常量)
11、this引用总是引用当前正在执行的代码。(运行this引用代码的对象)
12、private不能被私有成员声明类以外的任何类中的代码访问。
13、可以在子类中声明相同方法—不是重写,而是建造一个同名的方法。
14、当访问默认成员的类属于同一个包时,才能访问默认成员,而对于保护成员,子类位于不同的包中,该子类也可以通过继承访问保护成员。
15、包外子类获得超类引用,该子类不能在超类引用上使用点运算符来访问受保护成员。
16、保护成员对包外子类外的任何代码变成私有的。
17、可访问保护成员:同一个类,同一包中任何类,同一包中子类,同一包外子类。
可访问默认成员:同一个类,同一包中任何类,同一包中子类。
18、方法参数声明为final,不能在该方法中修改它。
19、抽象类的第一具体子类必须实现超类所有抽象方法。
20、abstract final || abstract private || abstract static不能同时出现。
21、synchronized:方法一次只能被一个线程访问。
22、native:本地方法(与平台相关语言实现的)。
23、可变参数列表方法:
类型后面接省略号(…),一个空格,保存参数的数组名称。
必须是方法中的最后一个参数,且一个方法中只允许有一个vararg。
24、构造函数可以具有所有正常的访问修饰符,并且可以带有vararg参数。
25、byte:8位short:16位 int:32位long:64位float:32位 double:64位 char:16位Unicode
26、变量位于栈上,对象位于堆上。
27、局部变量可以为final。
28、vararg可以为0个。
29、枚举名与其中常量名无关。