JAVA软件海豚_Java 修饰符
一、访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
默认的,也称为 default,在同一包内可见,不使用任何修饰符。
私有的,以 private 修饰符指定,在同一类内可见。
共有的,以 public 修饰符指定,对所有类可见。
受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。
二、非访问修饰符
为了实现一些其他的功能,Java 也提供了许多非访问修饰符。
static 修饰符,用来创建类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和 volatile 修饰符,主要用于线程的编程。
abstract 修饰符
-----------------------------------------------------------具体说说abstract修饰符
抽象类:
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。
抽象类可以包含抽象方法和非抽象方法。
抽象方法
抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。
抽象方法不能被声明成 final 和 static。
----------------------------------------------------------------------------------------
synchronized 修饰符
synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。
transient 修饰符
序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。
volatile 修饰符
volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
一个 volatile 对象引用可能是 null。
volatile 修饰符的使用实践:
用 volatile 修饰 long 和 double 变量,使其能按原子类型来读写。double 和 long 都是64位宽,因此对这两种类型的读是分为两部分的,第一次读取第一个 32 位,然后再读剩下的 32 位,这个过程不是原子的,但 Java 中 volatile 型的 long 或 double 变量的读写是原子的。
通常情况下,在一个线程调用 run() 方法(在 Runnable 开启的线程),在另一个线程调用 stop() 方法。 如果 第一行 中缓冲区的 active 值被使用,那么在 第二行 的 active 值为 false 时循环不会停止。
但是以上代码中我们使用了 volatile 修饰 active,所以该循环会停止。
JAVA软件海豚_Java 修饰符相关推荐
- java中的访问修饰符
对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符. 一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口.Java语 ...
- java修饰方法有哪些,探讨Java语言中那些修饰符
一.在java中提供的一些修饰符,这些修饰符可以修饰类.变量和方法,在java中常见的修饰符有:abstract(抽象的).static(静态的).public(公共的).protected(受保护的 ...
- Java final修饰符的作用,Java中的final修饰符
1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的, ...
- [转载] 基本概念:java中的访问修饰符
参考链接: Java中类或接口的访问说明符 转自:https://www.cnblogs.com/tjudzj/p/4443066.html 对Java中的修饰符一直记不住,现在结合网上的一些资料进行 ...
- Java 四种权限修饰符
Java 四种权限修饰符访问权限 public protected (default) private 同一个类(我自己) yes yes yes yes 同一包(我邻居) yes yes yes n ...
- Java有哪些访问修饰符呢?
转自: Java有哪些访问修饰符呢? Java语言中访问修饰符用于设置类,变量,方法和构造函数的访问级别. 四个不同的访问修饰符为: 无关键字(不指定修饰符):对包可见,不需要修饰符. private ...
- 实际上Java注解与普通修饰符(public、static、void等)的使用方式并没有多大区别
Java 注解 实际上Java注解与普通修饰符(public.static.void等)的使用方式并没有多大区别 注解的定义 日常开发中新建Java类,我们使用class.interface比较多,而 ...
- java中 访问修饰符限制性最高的是,问:JAVA中,访问修饰符限制性最高的是( )。(选择一项)...
问:JAVA中,访问修饰符限制性最高的是( ).(选择一项) A:friendly,B:protected ,C:private ,D:public 正确答案:绛旓細铻烘棆姊ā寮? 绛旓細鑷富鎬? ...
- JAVA访问修饰符限制性最高的_问:JAVA中,访问修饰符限制性最高的是protected ( )...
问:JAVA中,访问修饰符限制性最高的是protected ( ) A:对,B:错 正确答案: 解析: 问:JAVA中,访问修饰符限制性最高的是protected ( )A:对,B:错 相关问题: 密 ...
最新文章
- c mysql 索引_MySQL 多列索引的生效规则
- log4j 配置,tomcat 启动或有后台操作时,控制台会显示很多 DEBUG 信息
- 2015年第六届蓝桥杯C/C++ A组国赛 —— 第五题:切开字符串
- C语言实现面向接口编程
- python vars name报错_Python vars()全局名称错误
- Insert插入不同的列数量,统计信息对比
- jQuery中的$(“this“)和$(this)的区别
- java中接口与抽象类的区别
- css3中的box-sizing的用法
- 前端基础--jquery
- 一个喜爱电影的人能利用什么工具?
- pip下载安装包默认位置_修改pip 下载模块或软件的默认文件夹
- 计算机中开方的符号,开方符号-平方根符号怎么打?平方根符号在word和Excel中怎么打?上面 爱问知识人...
- 国内android第三方rom,安卓手机第三方rom大盘点,曾经火到不行,如今几乎全军覆没...
- 六年开发者亲测,简单好用的「免费」APP内测托管平台
- 小红书html布局自适应,Flutter实现马蜂窝小红书自适应高度轮播图
- 2020-09-15,小米笔试,java
- 怒江java培训班_Graal VM:微服务时代的Java
- Linux登入Oracle数据库修改密码
- 什么是时钟周期?什么是机器周期?什么是指令周期?
热门文章
- 初识滴滴交易策略之二:司乘匹配
- 年薪30万的程序员工作,门槛很低?网友:学3月就能上岗,但超累
- python发行版是什么意思_anaconda是什么?-Python教程
- ca证书demo与相关问题
- GMQ交易所为区块链之下的商业未来做准备
- uni-app 如何根据环境自动切换请求的地址
- 掌门1对1java面试_2019掌门1对1面试经验(JAVA软件工程师,小学数学教师等)
- 如何恢复无法修复的Visual Studio 的破损文件
- argument 'indices' must be tuple of Tensors, not Tensor
- 百度高德地图poi数据获取-下载