现在的位置: 首页 > 综合 > 正文

Java常用修饰符总结

2014年11月25日 ⁄ 综合 ⁄ 共 1453字 ⁄ 字号 评论关闭
public:可以被任何类访问。
final:使用些修饰符的类不可以被继承。
abstract:如果要使用abstract类,需要建立一个继承自它的新类,来实现其中的抽象方法。

变量:
1,Java中没有全局变量,只有方法变量、实例变量(类中非静态变量)、类变量(类中静态变量);
2,方法中的变量不可以有访问修饰符,所以访问修饰符只是针对类中定义的变量;
3,声明实例变量时,如果没有赋初值,将会被初使化为Null(引用类型)或是0、false(原始类型);
4,可以通过实例变量初使化器来初使化较复杂的实例变量,实例变量初使化器是一个用{}包含的语句块,在类的构造器被 调用时运行,运行于父类构造器之后,构造器之前;
5,类变量(静态变量)也可以通过变量初始化器进行初始化,类变量的初使化器是一个用static{}包括起来的语句块,而且只可以被初使化一次。

访问修饰符:
public:可以被任何类访问。
protected:可以被同一包中的所有类访问;也可以被子类访问,即使子类没有在同一包内
private:只能被当前类中的方法访问。
缺省:无访问修饰符,可以被同一包中的所有类访问;如果子类没有在同一包中,不可访问

修饰符:
static:静态变量(又称为类变量,实例变量等),可以被类的所有实例所共享,而且在不创建类的实例的情况下也可以对其进行访问。
final:常量,其值只能分配一次,而且不可更改;注意不要使用const,虽然它和C、C++中的const关键字含义一样。
transient:即告诉编译器,在该类的对象进行序列化的时候,这个变量不需要持久保存。这么做的主要原因是这个变量可以通过其它的变量来获取,使用它主要是从性能的角度考虑。
volatile:指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确地处理。

方法:
1,类的构造方法不能有修饰符、返回类型和throws子句
2,类的构造器方法被调用时,它首先调用父类的构造器方法,然后运行实例变量和静态变量的初使化器,然后才运行该类构造器本身。
3,如果构造器方法没有显示调用一个父类的构造器,那么编译器会为其自动加上一个默认的super(),而父类若没有默认的无参数构造器,编译器就会报错。super()必须是构造器方法的第一个子句。
4,注意理解private类构造器方法使用的技巧。

static:静态方法(又称为类方法、以及实例方法等),它提供不依赖于类实例的服务,也就是说,并不需要创建类实例就可以访问静态方法。
final:防止任何子类重载该方法;注意不要使用const,虽然它和C、C++中的const关键字含义一样。
abstract:抽象方法,类中已声明但没有实现的方法,不能将static方法、final方法以及构造器方法声明为abstract。
native:用该修饰符修饰的方法在类中并没有实现,大多数情况下这类方法的实现是由C或C++编写的。可以参见Sun的Java
Native接口(JNI),JNI提供了运行时加载一个native方法的实现,并将其与一个Java类关联。
synchronized:多线程支持,当一个线程调用该方法时,就会为这个对象加一个锁,从而其它线程就不可以再次调用这个方法,直到前一个线程将其释放。

接口:
1,接口不能定义任何其声明方法的实现。
2,接口中的变量总是需要定义为“public static final 接口名称”,也可以不包含这些修饰符,但编译器默认就是这样,显示的包含修饰符主要是为了程序逻辑清晰。


抱歉!评论已关闭.