修饰符的作用

  • 修饰符的分类和作用
    java当中修饰符根据功能可分为两类,一类是访问全权限修饰符,另一类是非访问权限修饰符。
    访问权限修饰符主要有四种:即public、protected、default(不指定访问权限修饰符时)、private,四种修饰符访问权限从左向右依次递减。非访问权限修饰符常见的有static、final、abstract、synchronized、volatile五种修饰符,其中最后两种修饰符设计线程编程,此处不做讲解。
    根据修饰作用对象的不同,修饰符又可以分为类修饰符,方法、变量修饰符。其中类修饰符包括:public、default、abstract、final。而方法、属性除了类所具有的修饰符外,还可以用private、static修饰。
    综上所述,java修饰符种类放多,不同的修饰符具有不用的作用,同时其作用对象也有所不同,在学习过程中要格外注意。
  • 修饰符的具体功能以及作用对象
    访问权限修饰符:控制类、方法、变量的访问权限

修饰符


方法和变量

public

包内外的类都可以访问

包内外的类都可以访问

protected

不可以修饰类(内部类除外,内部类可看作方法或变量)

同一包内的类可以访问,包外只有子孙类可以访问

default

只允许同一包内的类访问

只允许同一包内的类访问

private

不可以修饰类

只允许类内部访问

非访问权限修饰符:

修饰符


方法和变量

static

不可以修饰类

通过类名访问

final

表明类不可继承

子类可以重载,不能重写

abstract

不可实例化

必须继承和实现

重载与重写

参数列表

重写

重载

参数列表

不能更改

必须更改

返回类型

不能更改

可以更改

访问权限

不可比父类范围窄

可以更改

非访问权限

不可更改

可以更改

抽象类和接口中方法和变量的访问权限

访问权限

抽象类

接口


只能是public或default(java 1.8)

public

方法、变量

抽象方法可以是public、protected、default,对变量不做要求

public(方法|属性)、static final(属性)

说明

抽象类中既可以有非抽象方法;抽象方法不能用(static、final)修饰符

接口中必须全部抽象方法,变量必须是静态常量,抽象方法不能用(static、final)修饰符