java中的修饰符

作者 : 开心源码 本文共1388个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共186人阅读

java中的修饰符主要分为两种访问修饰符和非访问修饰符,下面就是具体的详情啦,balalallala

一、访问修饰符

1.default:无修饰符,可以使用的范围(对象,类,接口,变量,方法)

2.private:在同一类内可见,使用范围对象,变量,方法(不能修饰类)

类和接口不可被公告为private,只能被所属类访问,类中公共的gette,setterr方法被外部类访问

idea中创立getter的快捷方法:鼠标右键—》找到Generate即可以啦啦

3.public:对所有类可见,使用范围对象,类,接口,变量方法

4.protected:对同一包内的类和所有子类可见,使用范围:对象,变量,方法(不能修饰类)

这个相当复杂了呢

4.1子类与基类在同一包中:

???? 被公告为protected的变量,方法和构造器能被同一个包中的任何其余类引用

4.2子类与基类不在同一包中:

????? 那么在子类中,子类可以访问从基类集成而来的protected方法,而不能访问基类实例的??????? protected方法

?4.3接口及接口的成员变量和成员方法不能公告为protected

?4.4子类能访问protected修饰符公告的方法和变量,保护不相关的类使用这些变量和方法

注:默认访问修饰符:不适用任何关键字,默认使用。如:接口里的变量隐式公告:public static final? ,接口里的方法默认为:public

二、非访问修饰符

1.static修饰符:用于修饰方法和变量

? 1.1静态变量:static关键字用来公告独立于对象的静态变量 (局部变量不能被公告为static变量)

? 1.2静态方法:static关键字用来公告独立于对象的静态方法,方法中不可使用类的非静态变量

2.final修饰符:修饰类、方法和变量,final修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量不可修改。

?2.1final变量一旦被赋值后,不能被重新赋值

?2.2final修饰符通常和static修饰符一起使用来创立变量

?2.3final方法可以被子类继承,但不能被子类修改,公告方法为final,主要防止该方法被修改

?2.4final类不能被继承

3.abstract修饰符:创立笼统类和笼统方法

?3.1笼统类不能用来实例化对象,公告笼统类的唯一目的就是为了将来对该类进行补充

?3.2一个类不能同时被abstract和final修饰

?3.3一个类存在笼统方法,那么类肯定要公告为笼统类

?3.4笼统类可以包含非笼统方法

?3.5笼统方法没有任何的事项方法,该方法具体实现由子类提供

?3.6笼统方法不能被公告成final和static

?3.7任何继承笼统类的子类必需实现父类所有的笼统方法

4.synchronize和volatile修饰符:线程的编程

?4.1synchrinize修饰符:公告的方法同一时间只能被一个线程访问,可以应用于四个访问修饰符

?4.2transient修饰符(阻止变量被序列化):序列化的对象包含被transient修饰的实体变量时,java虚拟机跳过该特定的变量

?4.3volatile修饰成员变量:不可用在final前被线程访问时,强制以共享内存中重新读取该成员变量的值,成员变量发生变化时值会重新读写到内存中(共享内存,两个不同的线程总是看到某个成员变量的同一个值)

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » java中的修饰符

发表回复