梳理java修饰符

2019-12-06  本文已影响0人  f155b8f6e0ac

真的是很久不碰代码,很多基础知识的特点都忘求了~~,今天借助这篇文章,梳理一下JAVA语法中的修饰符

修饰符的分类

修饰符是用来修饰类,方法,变量的,通常是放在语句的最前端。修饰符分为两类:

访问修饰符

JAVA中支持 4 类不同的访问权限,以此来保护类,变量,方法和构造方法的访问。

  1. default:在同一个包内可见。使用对象:类,方法,变量,接口。
  2. private:只在同一个类内可见。使用对象:方法,变量。注意:不能修饰类和接口
  3. public:对所有类都可见。使用对象:类,方法,变量,接口。
  4. protected:在同一个包内的类以及所有子类可见。使用对象:变量,方法。注意:不能修饰类
私有访问修饰符——private
公有访问修饰符——public

被声明为public的类,方法,变量和接口能够被所有的类访问

受保护的访问修饰符——protected

protected可以修饰变量,方法。不能修饰类,同时接口和接口的成员变量都不可以声明为protected
声明为protected的变量和方法,只能被同一个包中的类或者从基类继承而来的protected方法访问。

Class A {
    protected boolean open(string str){
        //实现细节
    }
}

Class B extends A {
    protected boolean open(String str){
        //实现细节
    }
}

如果把 open() 方法声明为 private,那么除了 A 之外的类将不能访问该方法。
如果把 open() 声明为 public,那么所有的类都能够访问该方法。
如果我们只想让该方法对其所在类的子类可见,则将该方法声明为 protected。

访问控制和继承

继承的规则:(遵循的是子类的权限不能小于父类权限)

非访问修饰符

JAVA中常见的非访问类修饰符有如下几种:

  1. static:用来修饰静态方法和静态变量。
  2. abstract:用来创建抽象类和抽象方法
  3. final:用来修饰类,方法和变量的。
  4. synchronized和volatile:用于线程的编程
static修饰符

主要用来修饰静态变量和静态方法的。注意一点:静态方法中必须要使用静态变量

abstarct修饰符

主要用来创建抽象类和抽象方法

抽象类
abstract class Caravan{
   private double price;
   private String model;
   private String year;
   public abstract void goFast(); //抽象方法
   public void changeColor();
}
抽象方法
public abstract class SuperClass(){
    abstract void m(){};   //抽象方法
}

public SubClass extends SuperClass(){
    void m(){};   //实现抽象方法
}
final修饰符

final顾名思义就是“最终”的意思,所以被他修饰的类、变量、方法都是不能修改的

final变量
final方法
final类
上一篇 下一篇

猜你喜欢

热点阅读