Posted on 2006-11-21 19:15
邵立军 阅读(326)
评论(0) 编辑 收藏 所属分类:
SCJP
声明和修饰符
1、类访问
默认访问:只能实现同一个包的访问。
公有访问:带有一个public修饰,是最开放的类修饰。
最终(final)类:被final修饰的类不能做其他类的父类。只能被实例化。
抽象类 :不能够实例化,只能够子类继承,其中第一个能够实例化的子类必须实现(重写)所有抽象父类没有实现的抽象方法(所以抽象方法不可以是private)。有抽象方法的类,必须是抽象类。抽象方法一定要以分号结尾,不能有方法体。
2、方法和变量声明及修饰符
访问方法有:一个类中的方法代码是否能够访问另一个类的成员(产生一个被访问方法所在类的对象,在通过点运算访问);一个子类是否能够继承其父类的成员(直接写方法名访问或this.<方法名>)。
访问级别:
公有成员:用public修饰时,无论属于哪个包,都能够访问该成员(假设类自身是可见的)。
保护成员:用protected修饰时,可以实现同一个包的访问,不同包的时候只能是继承关系才能被访问.
默认成员:无修饰符,和保护成员类似,只是不同包时就算是继承也不能访问.
私有成员:用private修饰时,访问级别最低,只限于自己类访问.
其他方法:
最终方法:final关键字防止方法在子类中重写。
抽象方法:(参考类访问中的抽象类)。
同步方法:synchronized关键字指出方法一次只能一个线程访问 。
本地方法:native
stricfp方法
变量声明:
实例变量:可以使用三个访问级别中的任何一个;可以用final,tranisent表示。可以不用写初始化数值,当如果是被final修饰的必须给于初始化。
局部变量:只能被final修饰,必须赋予初始化数值。
瞬间变量:如果把实例变量标示为transient,则是告诉JVM当时图串行化声明这个变量的对象时跳过(忽略)它。
挥发变量:volatile修饰符告诉JVM访问该变量的线程必须使其自己时该变量的私有拷贝与内存中的主拷贝一致。
静态变量和方法:
静态方法只能调用静态方法只能调用静态变量。
访问静态变量时格式可以写为<类名>.<变量名>或直接访问。
访问静态方法new对象访问或同静态变量访问或直接访问。
3、接口设计:
接口声明:
所有接口方法隐含都是公有的和抽象的; 接口方法一定不能使静态的;不需在方法声明中实际输入public和abstract修饰符,但是,该方法仍然总是公有的和抽象的;定义在接口中的所有变量必须是公有的 、静态的和最终的(必须给其初始化)--换句话说,借口只能声明常量,而不能声明实例变量;而不能声明实例变量;接口可以并只能扩展一个或多个其他接口。
设计接口:
未来自被声明接口的所有方法提供具体(非抽象)设计;在设计方法上声明费检查异常,而不是那些被接口方法声明的异常,或者被接口方法声明的那些异常的子类;保持接口方法的签名,保持相同的返回类型(但是不必声明在接口方法声明中声明的异常)。