java修饰符以及面向对象的一些总结 修饰符的作用 重载与重写 抽象类和接口中方法和变量的访问权限 参考链接

  • 修饰符的分类和作用

    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)修饰符

参考链接

【1】http://doc.okbase.net/liujkh123/archive/2692.html

【2】https://blog.csdn.net/yinni11/article/details/80201692?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase