- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SCJP考点
声明和访问控制
创建数组
声明:int num[]; 或 int[] num;
分配空间:num = new int[5];
int num[] = new int[5];
int k[] = new int[] {0,1,2,3,4};
Java数组无论赋值与否,总是被设定为默认值,整型为0,布尔型为false。
数组的大小不能被改变
数组从0开始索引
没有必要确定数组元素的数量
int k[] = new int[5] {0,1,2,3,4}; (错误)
Synchronized
防止多个线程同时访问相同的代码段。
Transient
表明类序列化时,变量不必序列化。transient可以修饰变量
Volatile
表明变量由于线程可能异步修改。
abstract
被用于类和方法。
在用于方法上时,方法没有方法体,代码只能在子类执行时运行。
Abstract方法不能用final,static修饰
如果类中有abstract方法,那么该类必须被申明为abstract;
abstract类中可以含有非abstract方法;
继承abstract类的子类要么实现父类的abstract方法,要么自身也声明为abstract类(abstract类的子类可以是abstract)。
构造方法
构造方法用来初始化类中的值;
有和类同样的名字并没有返回值;
如果一个方法有了类相同的名字但有返回值,它不是构造器;
一旦创建了任何的构造方法,需要创建一个零参数的构造方法;
构造方法不能是native,adstract,static,synchronized,final。
调用基类的构造方法
构造方法是不能够被继承的,想要得到父类的构造方法,需要使用神奇的关键字super。
关键字this调用当前类中的其他构造函数;
构造方法中使用this或super必须第一个调用;
构造方法中,this与super只取其一,不可同时使用。
重载(overload)和复写(override)
重载
一个类中的两个或多个方法具有相同名字,且不同的参数类型或顺序。
返回类型对区分方法没有帮助。
复写
子类中的方法;
在子类中完全取代父类中同方法名的方法功能;
与父类中的方法有完全相同的签名,包括返回值。
访问修饰符可以不同,但子类比父类不能小,可以大。
Static方法不能被重写;final方法不能被复写流程控制和差错处理
if switch
if语句只能用boolean类型参数;boolean默认值为false。
switch语句只能用byte , char , short , int 类型作参数;
switch语句中,case语句只在遇到break语句的时候才会终止执行;default语句并不是必须在case语句的结尾处出现。
For while
For (initialization; conditional expression; increment)
do-while与while的区别在开do-while中的语句至少执行一次。
Break continue
break与continue只会中断当前的循环,而与label搭配,可以中断多层循环。
Label1:
Outeriteration{
Inneriteration{
…
break; //1
…
continue; //2
….
Continue label1;//3
….
Break label1; //4
}
}
1中断内层迭代,回到外层迭代
2将执行点移至内层迭代的起始处
3同时中断内层迭代,再从外层迭代开始
4同时中断内外层迭代,不再进行任何迭代
务必记下。在java中使用label的惟一理由是跳过一个以上的嵌套层次。
try/catch语句与方法覆写
finally子句总是会执行。但如果try/catch中有System.exit(0),finally语句不会执行。
Catch子句的捕捉异常的次序要与异常的层次结构相一致。子异常要先捕捉,父异常后捕捉。
子类方法只能抛出父类方法所抛出的异常或它的子异常。但是,子类方法可以抛出少于父类的异常或干脆就不抛异常。
断言(assertion)
断言用于你认为某此东西必须是真的地方。例如:人的年龄必然大于0
用于保证内部数据结构的正确 不用于保证命令行参数的正确
用于保证私有(private)方法参数的正确 不用于保证公共(public)方法参数的正确
用于检查任何方法结束时状态的正确 不用于检查外界对公共方法的使用是否正确
用于检查决不应该出现的状态 不用于保证应该由用户提供的信息的正确性
用于检查决不应该出现的状态,即使你肯定它不会发生 不要用于代替if语句
用于在任何方法的开始检查相关的初始状态 不要用做外部控制条
文档评论(0)