1.2java基础部分二:java的修饰符

JAVA语言中,修饰符主要分为三块,类修饰符、属性修饰符、方法修饰符,下面一一介绍

1. 类修饰符

public:公有,表示此类是公有,可在任意其他类中访问,一个java文件中可以写多个类,但只能有一个public类,且public类名必须与文件名同名;

abstract:抽象,此修饰符表示类为抽象类,抽象类中必须有至少一个抽象方法,子类在继承抽象类时实现此抽象方法,抽象类中可以有方法实现;

final:最终,此修饰符表示类不可被继承,当某个类不想被子类修改实现方法时,可将此类定义为final,比如String、Integer等。

2. 属性修饰符

public:公有,表示该属性为公有的,可被任何对象的方法访问。

private:私有,表示该属性只允许自己的类的方法访问,其他任何类中的方法均不能访问(不绝对,反射机制可以访问到)。

protected:受保护的,表示该属性可以别被自己的类和子类访问。

final:最终修饰符,指定此变量的值不能变。

static:静态,修饰属性时也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

transient:当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。

volatile:易失修饰符,定义一个变量为volatile,会有下面两个特性:
1.保证此变量对所有的线程的可见性,当一个线程修改了这个变量的值,volatile 保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新。但普通变量做不到这点,普通变量的值在线程间传递均需要通过主内存(详见:Java内存模型)来完成。
2.禁止指令重排序。指令重排序:是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理。(详细内容可以看:https://www.cnblogs.com/zhengbin/p/5654805.html

3. 方法修饰符

public:公有,表示方法可以在其他类中使用;

private:私有,指定此方法只能有自己类访问,其他的类不能访问(包括子类);

protected:保护访问,指定该方法可以被它的类和子类进行访问;

final,指定该方法不能被重载;

static,指定不需要实例化就可以激活的一个方法,一般用于工具类或者工厂类;

synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁;

native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值