Java中的访问修饰符
修饰符:可以根据权限分类;还可以根据特征进行分类
访问权限修饰符: 实际有是四个访问权限,修饰符是三个
private 私有的 表示:类访问权限只能在本类中访问,离开本类之后,就不能直接访问。
不写(缺省):
protected:表示包私有,表示包访问权限,访问者的包和当前定义类的包相同才能访问。
public:表示全局的,可以公共访问权限,如某个字段/防范使用了public修饰,则可以在当前项目中任何地方访问。
特征:final static abstract native, trasient sychronized validate
abstract修饰符不能和final修饰符一起使用;abstract修饰的抽象方法没有方法体;private关键字不能用来修饰抽象方法。
static与abstract,final与abstract,private与abstract都属于非法的修饰符组合
1.被static修饰的可以用类名调用,但是类名调用抽象方法是没有意义的
2.abstract修饰的方法为了让子类看到并强制子类重写,
3.final修饰的方法不让子类重写,所以abstract和final是矛盾的
4.private修饰不让子类访问,所以private和abstract是矛盾的
final 可以修饰类,不能被继承;修饰方法,不能被重写;修饰变量,只能赋值一次
static可以修饰方法;不能修饰类;修饰属性
static关键字:一个类可以创建n个对象,如果n个对象中的某些数据需要共用,就需要使用static关键字修饰
1.使用关键字可以实现通过类名加“.”直接调用类的成员,不需要创建类的对象;
2.使用关键字修饰的属性和方法属于类,不属于具体的某个对象
3.使用static修饰的属性称为静态变量或者类变量,否则是实例变量;
用static修饰的方法称为静态方法或者类方法,否则称为实例方法。
注意: 在静态方法中不能直接访问实例变量和实例方法;
在实例方法中可以直接调用类中定义的静态变量和静态方法。