访问权限修饰词:
public :公共的
protected :受保护的
default :默认的
private:私有的
1.在修饰类时,
外部类:只能用public和default(默认的)修饰
内部类:可以用public protected 默认的和private修饰
内部类就是与方法同级的类
2.在修饰成员变量时:
public:在本类中,同包下,不同包子类中,其他都可见;
protected:在本类中,同包下,不同包的子类中可见,在其他的类中不可见;
默认的(default):在本类中和同包下可见,在不同包的子类中以及其他都不可见;
private:只有在本类中可见,在同包下其他类以及不同包子类和其他的类中均不可见。
注意:
在修饰成员变量时,为了保护代码的安全性,尽量做到成员变量的不可见性;即用private修饰成员变量,
当用private修饰时,其他类没有权限修改成员变量的值;但是可以通过set/get方法来实现修改成员变量的值;
set方法:
public void setName(String name){
this.name = name;//改变成员变量的值
}
get方法:
public String getName(){
return name;//获取成员变量的值
}
3.在修饰方法时:与修饰成员变量的可见性一致
public:public修饰的方法在子类中可以重写
protected以及default:protected修饰的方法在子类中可以重写,在子类中的修饰词可以不变,也可以比父类的修饰权限更大的类型
private:private修饰的方法子类中不可以重写;
这些被protected以及private修饰的方法其实在子类中被继承过去了,但是没有权限显示使用或重写
---------------------------------------------------------------------------------------------------------------------------------------------------------------
final修饰词:
(1)在修饰类时:
final修饰的类不能够再派生出子类,意义在于减少随意扩展功能的可能性,破坏软件
(2)在修饰成员变量时:
final修饰的成员变量,只能够进行初始化,不能够再被赋值,可以直接进行初始化,也可以在构造器中进行初始化
(3)final修饰方法时:
final修饰的方法,不能在子类中重写,但是可以在子类中使用
(4)final修饰局部变量:
final修饰的局部变量,只能初始化一次