java修饰符有public、protected、private和default(默认)四种访问级别。 四类修饰符都用于类、类属属性及方法。
1、访问权限
访问权限 |
类 |
包 |
子类 |
其他包 |
备注 |
public |
可 |
可 |
可 |
可 |
包内及包外的任何类均可以访问 |
protected |
可 |
可 |
可 |
|
包内的任何类,及包外的那些继承了此类的子类才能访问; |
default |
可 |
可 |
|
|
包内的任何类都可以访问它,而包外的任何类都不能访问它(包括包外继承了此类的子类) |
private |
可 |
|
|
|
包内包外的任何类均不能访问; |
2、其他修饰及作用
JAVA的常用三个修饰:static,final,abstract;
static:
static修饰符能够修饰属性,方法,初始代码块。不能修饰局部变量和类。
修饰属性:
静态属性又称类变量,它不属于某个对象,是属于类的,是所有对象共同享有。
修饰方法:
1:静态方法可以直接类名.方法名调用。
2:静态方法里只能访问静态成员,不能访问非静态成员。
3:静态方法里不能用this关键字。
4:静态法法里没有多态,只能被静态方法覆盖。
修饰代码块:
static修饰初始代码块称为静态代码块。静态代码块是在类加载的时候运行。
final:
final修饰符能够修饰变量,方法,和类。
修饰变量:
final修饰的变量称为常量,一旦赋值不能更改。对于基本类型来说是其值不能改变,对于对象类型来说是其址不能改变。
修饰方法:
final修饰方法,表示该方法不能被子类覆盖。
修饰类:
final修饰类表示该类不能被继承。
一个类中有final方法,该类可以被继承,但无法覆盖final方法。
abstract:
abstract可以修饰类和方法,
修饰类:
abstract修饰类称为抽象类。抽象类只能用来声明引用不能用来创建对象。
从某种意义上来说,抽象类就是让子类去继承,抽象类声明引用,让这个引用指向子类。子类去实现抽象方法。
抽象类中可以有非抽象方法,但一个类里有抽象方法就一定要是抽象类。
子类继承抽象类要么自己成为抽象类,要么实现父抽象类里的所有抽象方法。
修饰方法:
abstract修饰方法,称为抽象方法。抽象方法指:只有声明没有实现的方法。
3、构造函数的访问修饰符
private :
当构造方法为private时,只能在当前类访问它,不能被继承,不能被其他程序用new创建实例对象。。
protected :
构造函数是protected时,那么该类可以继承,可以在被包内其他类中产生实例,但是无法在包外或者子类以外的地方产生实例.