JAVA(6)—JAVA修饰符

1.static修饰符

  • 静态变量:独立于类的一个静态变量,不论实例化多少个对象,它的静态变量只有一份拷贝,静态变量也被称为类变量。局部变量不能被声明为
    static 变量。
  • 静态方法:static用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得倒数据,然后计算这些数据。
package moeh.www;

public class MoHe {
    public static int number = 0;

    static int GetNum() {
        return number;
    }

    void AddNumber() {
        number++;
    }

    MoHe() {
        AddNumber();
    }

    public static void main(String[] args){
        System.out.println("数字开始的值为:" + MoHe.GetNum());

        for (int i = 0; i < 100; i++) {
            new MoHe();
        }
        System.out.println("数字开始的值为:" + MoHe.GetNum());
    }
}

结果展示:
在这里插入图片描述
也就是说new了100次,变量也会增加一百次。

2.final修饰符

final表示"最后的,最终的"含义,变量一旦被赋值后,不能被重新赋值。被final修饰的实例变量必须显式指定初始值。

  • final变量:final通常和static一起用于创建常量。
  • final方法: 父类中的final方法可以被子类继承,但不能被子类重写。final方法的主要目的是防止该方法的内容被修改。
  • final类:final类不能被继承,没有类能够继承final的任何特性。

在这里插入图片描述

3.abstract 修饰符

  • 抽象类:抽象类不能用来实例化对象,声明抽象类的目的就是为了将来对该类进行扩充。一个类不能同时被abstract和final修饰[一个可以被继承,一个不可以被继承,冲突了]。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则会报错。
    抽象类内可以声明抽象方法和非抽象方法。
  • 抽象方法:抽象方法是一种没有任何实现的方法,方法的具体实现由子类提供。
    (1)抽象方法不能用static和final修饰
    (2)任何继承抽象的子类必须实现父类的所有抽象方法,除非子类也是抽象类。
    (3)如果一个类包含若干个抽象方法,那么该类必须声明为抽象类,抽象类可以包含非抽象方法。

这里提一下,这一个方法和C++里面的虚函数和纯虚函数有一点相似。
虚函数:实现一种动态联编的方法,让程序可以申请父类指针,但是可以根据用户的输入或者其他的判断条件,决定是否使用父类的方法还是子类的方法。
纯虚函数:也就是没有任何实现的方法,子类除非也是抽象类,不然就必须要实现这一个方法。

4.synchronized 修饰符

synchronized 关键字声明的方法同一时间只能被一个线程访问

5.volatile 修饰符

这一修饰符主要应用在线程之中。
volatile修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值

参考链接:菜鸟教程.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值