访问修饰符:private、default、protected、public
private:只有在声明该成员的类的内部才可以访问这个成员。
default:声明该成员的包的内部的任何类都可以访问这个成员。
protected:声明该成员的类的子类(不同包下)以及声明该成员的包的内部的任何类都可以访问这个成员。
public:任何地方都可以访问该成员。
例如:

该类中成员变量name和age均为private,只有在Person类中可以访问这个成员变量,但外界可以通过提供的get和set方法访问成员变量name和age。

这时将Person类中的name属性改为default

我们新建了一个类为Male类,它和Person类在同一个包下,这是我们在Male类中可以访问name属性,不能访问age属性,编译器报错。
再将Person类中name的属性改为protected

可以看到同一个包下的Male类中我们依然可以访问name属性

此时我们又新建了一个类Female类和Person类位于不同的包下,但是和Person类时继承关系 ,可以看到我们也可以再Female类中访问name属性,验证了我们的结论。

public修饰符任何类都可以访问,这里不再举例。
注意:如果子类覆盖了父类中的方法,那么子类中方法的访问级别不允许低于父类中的方法的访问级别。即:父类中声明为public的方法在子类中也必须声明为public,父类中声明为protected的方法在子类中也必须声明为protected,要么声明为public,不允许为private和default。父类中声明为private的方法,不能够被继承。
static 、final、static final修饰符
final: 使用final来修饰变量则该变量只能进行一次初始化且不能被修改,但对于对象引用的变量来说,变量指向的对象不能变,但对象里边的内容可以改变。
例如:

使用final来修饰方法则表示该方法不可被子类修改,使用final来修饰类,则该类不能被继承。
static:无论一个类的对象有多少个,静态变量或者静态方法只有一份。在static方法中只能调用static属性不能调用普通成员属性。通常将一个类所有对象希望共享的属性或者方法,用static标识其共享特性。用static修饰的方法或者属性只属于类不属于类的任何对象。
static final:一般用于修饰常量。
网友评论