【转】java中修饰符总结

来源:互联网 发布:男人四十知乎 编辑:程序博客网 时间:2024/04/29 21:24

1、访问控制修饰符

public的访问级别是最高的,其次是protected、默认和private

成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有

顶层类可以处于公开或默认级别,顶层类不能被protected和private修饰

局部变量不能被访问控制修饰符修饰

2、abstract修饰符

抽象类不能被实例化

抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象方法

如果子类没有实现父类中所有的抽象方法,子类也必须定义为抽象类

抽象类不能被定义为private、final、和static类型

没有抽象的构造方法

抽象方法没有方法体

3、final修饰符

用final修饰的类不能被继承

用final修饰的方法不能被子类的方法覆盖

private类型的方法都默认为是final方法,因而不能被子类的方法覆盖

final变量必须被显式初始化,并且只能被赋值一次值

4、static修饰符

静态变量在内存中只有一个拷贝,在类的所有实例中共享

在静态方法中不能直接访问实例方法和实例变量

在静态方法中不能使用this和super关键字

静态方法不能被abstract修饰

静态方法和静态变量都可以通过类名直接访问

当类被加载时,静态代码块只能被执行一次。类中不同的静态方法代码块按他们在类中出现的顺序被依次执行

当多个修饰符连用时,修饰符的顺序可以颠倒,不过作为普遍遵守的编程规范,通常把访问控制修饰符放在首位,其次是static或abstact修饰符,接着就是其他的修饰符

以下修饰符连用是无意义的,会导致编译错误:

abstract与private

abstract与final

abstract与static

原创粉丝点击