Java基础-修饰符

Java中的修饰符经常用到的大概有:abstract(抽象的)、static(静态的)、public(公开的)、protected(受保护的)、private(私有的)、synchronized(同步的)、volatile(受保护的)、final(不可改变的)。

一、访问控制修饰符

1.public:他可以修饰类、成员变量、构造方法、成员方法。由他修饰的可以在程序内任何位置被访问。
2.protected:它可以修饰成员变量、构造方法、成员方法(不能修饰类,类只能是public的)。由它修饰的可以在子类或者同包下访问。
3.default(和不写是一样的):它可以修饰成员变量、构造方法、成员方法。只能在同包访问。
4.private:它可以修饰成员变量、构造方法、成员方法。只能在本类使用。

二、abstract修饰符

可以用来修饰类(抽象类)、成员方法(抽象方法)。
注意:
1.抽象类中可以有非抽象方法,但是有抽象方法的一定是抽象类。子类继承抽象类,那就要实现父类的抽象方法,实现不完子类也要定义为抽象类。
2.static和abstract不能共用。
3.抽象类不能实例化,但是可以将抽象类的变量引用子类实现类的对象。
4.不能和private和final共用(private和final不倾向于向下向外扩展,而抽象类就是被继承实现用的)。

三、final修饰符

  • final类不能被继承
  • final方法不能被重写
  • final变量不能被更改,只能被赋值一次

被final修饰的变量叫做常量,常量必须在声明时就显式的赋值(对于静态常量也可以通过静态代码块进行显示赋值),否则会报错。

变量是引用类型的话,只能一直引用那一个对象,但是可以改变对象里的属性值。

四、static

他可以修饰成员变量、成员方法和代码块。需要注意的是它修饰的都是属于类的,因此成员变量和成员方法都是在类加载时就进行了相关操作(分配内存,初始化值)。

  • 静态方法:只能访问静态变量和静态方法(时刻记住他是属于类的不是属于对象的)

不管是实例方法还是静态方法,他们的字节码都位于方法区。

转载于:https://www.jianshu.com/p/af9d813d294d

猜你喜欢

转载自blog.csdn.net/weixin_33898876/article/details/91330377