Java中常用修饰符使用汇总

时间:2023-10-12 18:28:38

修饰符汇总:

  一:public protected default private

      修饰类,修饰方法,修饰属性,修饰代码块。

    类:
      *类只能用public 修饰,*类不能使用private 和protected 修饰。
      外部类可以被public修饰或者默认不写,不能用private和protected。
      内部类可为静态,可用protected和private修饰。

  方法:

          通常方法可以被四个访问修饰符修饰,构造方法也可以被四个访问修饰符修饰。
          抽象类中的抽象方法不能被private修饰,可以被其他三个修饰。
          而接口中的方法只能被public修饰(默认也是public)。

  属性:

      属性可以被四个修饰符修饰,接口中的属性只能被public修饰(默认也是public)。

      代码块:

      代码块不能被任何修饰符修饰(因为代码块里面是属性还是方法,这个属性和方法都有自己的修饰符)。

  构造代码块的作用:可以初始化非静态属性,构造代码块优先于构造函数执行,可以放在构造函数中。

  静态代码块的作用:可以初始化静态属性,类加载时加载,不可以放在构造函数中。

 二:final:

  修饰类:最终类,最终类不能被继承。最终类通常完成一定标准功能的类,例如Java库中的数学类Math等。
  修饰方法:用final修饰的方法不能被继承,不能被重写(例如Object中的wait()),但是可以重载。
  常量:定义局部常量用final,定义全局常量用static final (或者final static)。

  三:static:
     修饰类:可以修饰内部类
     修饰属性:static可以修饰任何属性。
     修饰方法:不能修饰抽象方法,不能修饰构造方法。
     修饰代码块:被修饰的代码块叫静态代码块

  四:abstract
     修饰类(抽象类):抽象类不能被实例化。抽象类就是用来被继承的。
     修饰方法(抽象方法):能被修饰的方法叫做抽象方法,只有方法的声明,没有方法的实现,以分号结束。
     不能修饰:不能修饰属性、私有方法、构造器、静态方法、final 方法。

  abstract不可以和哪些关键字共存?

  final:如果方法被抽象,就需要被覆盖,final修饰不能被覆盖。

  private:如果函数被私有了,子类无法直接访问,无法覆盖

  static:类方法,直接调用抽象方法没有意义。