Java_修饰符
在java中修饰符主要分为两类:++访问修饰符++和++非访问修饰符++
访问控制修饰符
修饰符 | 当前类 | 同一包内 | 子孙类 | 其他包 | 其他包子孙类 |
---|---|---|---|---|---|
public | Y | Y | Y | Y | Y |
protected | Y | Y | Y | N | Y/N |
default | Y | Y | N | N | N |
private | Y | N | N | N | N |
■ 访问控制和继承
- 父类中声明为public的方法在子类中必须为public
- 父类声明的protected的方法在子类中不能声明为private。可以声明为protected或public
- 父类声明的private方法,不能被继承
非访问修饰符
■ static 修饰符
用来修饰类方法和类变量、动态代码块,对类变量和方法的访问可以直接使用 类名.属性名 和 类名.方法名 的方式访问。
■ final 修饰符
用来修饰变量、方法和类,分别表示变量不可变,方法不可覆盖,类不可继承。
变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变
■ abstract 修饰符
抽象类:
- 抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充
- 一个类不能同时被abstract和final修饰,如果一个类包含抽象方法,那么该类一定要声明为抽象类
- 抽象类可以包含抽象方法和非抽象方法
抽象方法:
- 抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供
- 抽象方法不能被声明为final和static
- 任何继承抽象类的子类必须实现父类的所有抽象方法,子类也是抽象类
- 抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public
■ synchronized 修饰符
synchronized声明的方法同时只能被一个线程访问
■ transient 修饰符
transient 关键字表示成员变量不参与序列化的过程
Java_修饰符的更多相关文章
- java_访问权限修饰符
java的访问权限修饰符有四种,根据权限由大到小的顺序为:public,protected,包访问权限(默认,没有修饰符),private. 根据修饰的东西不同,详细介绍如下: 1.修饰类的话分为两种 ...
- Java_关键字、匿名对象、内部类、访问修饰符、代码块
final关键字 概述: 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...
- java_流程控制语句、权限修饰符
判断语句 if语句第一种格式: if if(关系表达式){ 语句体; } if语句第二种格式: if…else if(关系表达式) { 语句体1; } else { 语句体2; } if语句第三种格式 ...
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Java类访问权限修饰符
一.概要 通过了解Java4种修饰符访问权限,能够进一步完善程序类,合理规划权限的范围,这样才能减少漏洞.提高安全性.具备表达力便于使用. 二.权限表 修饰符 同一个类 同一个包 不同包的子类 不同包 ...
- iOS 方法修饰符
一.NS_DESIGNATED_INITIALIZER 用来修饰init方法,被修饰的方法称为designated initializer:没有被这个修饰的init方法称为convenience i ...
- C#基础回顾(一)—C#访问修饰符
一.写在前面的话 好久没有停下来总结自己,转眼间15年过去好些天,回首过去的日子,亦或失去,亦或所得!生活的节奏,常常让我们带着急急忙忙的节奏去追赶,也许这并不是每个人所期望的生活方式!于他人,于自己 ...
- 关于Java语言中那些修饰符
一.在java中提供的一些修饰符,这些修饰符可以修饰类.变量和方法,在java中常见的修饰符有:abstract(抽象的).static(静态的).public(公共的).protected(受保护的 ...
- C#基础知识八之访问修饰符
1. 类的访问修饰符 修饰符 访问权限 无或者internal 只能在同一个程序集中访问类 public 同一个程序集或引用该程序集的外部都可访问类 abstract或internal abstra ...
随机推荐
- Python_Bool
Bool Ture和False两种状态:判定代码的真假. 真 print (3 > 2) # 结果: True 假 print (3 > 4) # 结果: False 数据类型 print ...
- Powershell 函数中的CmdletBinding()是怎么回事?
参考文章: Don Jones https://technet.microsoft.com/en-us/library/ff677563.aspx powershell 帮助文档: help abou ...
- Bugku 杂项 啊哒
有趣的表情包来源:第七届山东省大学生网络安全技能大赛 下载下来安装包后可以得到一张图片,010发现jpg后面还夹带着一些东西,用binwalk提取后得到一个压缩包,但是需要密码. 我卡在这里了,尝试了 ...
- Vivado中VIO核使用
前言 使用场景:在使用In system debug时需要使用按键触发查看相关信号,但不想用板子上的按键. VIO:Virtual input output,即虚拟IO. 主要用作虚拟IO使用:VIO ...
- 树&堆
树 什么是树? 大概像下面这样: 树的概念 树的每个点被称为节点: 连接的两个点,一个为父节点,一个为子节点,例如上图中,\(1\)是\(4\)的父节点,\(4\)是\(1\)的子节点: 没有父节点的 ...
- 部分安卓机型1px边框无法显示解决方法
实践发现css样式中使用1px solid 在部分安卓机型无法显示. 网上找到解决方案:使用行内样式设置边框.
- PTA数组作业一查找整数
代码 #include<stdio.h> int main(void){ int a[20],n,flag=0,x; int i; scanf("%d%d",& ...
- js重点--闭包
闭包: 1.获取到局部变量,相当于是函数局部与外部的桥梁 2.使局部变量保存在内存中,不被回收 <script> function outerFn() { var outerVar = 0 ...
- Node.js实战项目学习系列(1) 初识Node.js
前言 一直想好好学习node.js都是半途而废的状态,这次沉下心来,想好好的学习下node.js.打算写一个系列的文章大概10几篇文章,会一直以实际案例作为贯穿的学习. 什么是node Node.js ...
- 阿里巴巴图标库iconfont上传svg后,显示不了图片
AI里面选中图形,点对象-路径-轮廓化描边