Java修饰符

访问修饰符

default (即缺省,什么也不写)使用默认访问修饰符,在同一类,在同一包内的类是可见的。

*public*

接口都隐式声明为public static final ,接口里的方法默认情况下访问权限为public

不同包中的类虽然是public,但在访问时需要导入所在类的包:import 包

*protected*

protected不能修饰类和接口、接口的成员变量、成员方法,可修饰类的成员变量和方法。

~~~子类与父类在同一个包中,父类中protected成员变量、方法、构造方法可被子类访问

~~~子类与父类在不同包中,子类实例可访问其从父类继承来的protected方法,无法访问父类实例的protected方法

*private*

private修饰的变量、方法只能被所属的类访问,无法继承,接口和类不能声明为private类型

父类中声明为public的方法在子类中也必须是public
父类中声明为protected的方法要么为protected要么为public
父类中声明为private的方法无法被继承

非访问修饰符

*static* 修饰类变量和类方法

静态变量:一个类无论实现多少次实例,它的静态变量只有一个拷贝,静态变量也称为类变量,局部变量无法声明为静态变量。
静态方法:static声明的方法独立于对象存在,静态方法不能使用非静态变量,静态方法从参数列表中获得数据然后计算这些数据。
static变量只能初始化一次。
static变量相当于是类的公有属性,不会根据实例变化而变化。
static变量不是说不能改变,不能改变的量为常量,static变量不会因为函数调用变化而变化,在某个实例中修改了static变量的值,则它在所有的实例、类中都会是新的值。

*final*
final变量只能被显式地被初始化且只能初始化一次,final对象的引用不能指向不同的对象,但final对象的数据可以变
final与static一起创建一个类常量:public final static a=6;
类中的final方法可以被子类继承但不能被子类修改,声明final方法的主要目的就是为了该方法的内容不被修改
final类不能被继承,没有类能够继承final类的任何特性。

*abstract*
抽象类不能用来实例化,声明抽象类的唯一目的就是为了之后对该类进行扩充。
如果一个类中含有抽象方法,那么这个类只能声明为抽象类。
抽象类中可以有抽象方法和非抽象方法。

一个类不能同时用abstract和final进行修饰
抽象方法只有方法体,但没有具体实现。该方法的具体实现是在子类中实现的。 例: public abstract method();
任何继承抽象类的子类必须要实现父类的所有抽象方法,除非该子类也是抽象类

*synchronized*
synchronized修饰的方法同一时间只能被一个线程访问

*transient*
序列化的对象包含被transient修饰的实例变量时,JVM跳过该特定的变量。
该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。

*volatile*
volatile修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。若该成员变量值发生改变,会强制将变化的值写回共享内存,这样在不同线程同一时间看到某个成员变量同一个值。‘
一个volatile对象引用可能是null。

总结

 

 

 

 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值