[转载] Java的访问修饰符、非访问修饰符分类详细总结以及修饰符用途总结

参考链接: Java中的可访问和非访问修饰符

Java语言提供了很多修饰符,主要分为以下两类: 

 访问修饰符  

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。 

 非访问修饰符  

为了实现一些其他的功能,Java 也提供了5种非访问修饰符。 

一、“访问修饰符”访问权限总结 

访问权限publicprotecteddefaultprivate同一个类yesyesyesyes同一个包yesyesyesno子类yesyesnono其它类yesnonono

所谓friendly/default,即指的是在类前不加任何修饰符的情况,并不是真的有这样一个“修饰符” 

总结:权限开放程度从大到小排序public>protcted>default>priavte 

PS:注意,其中只有public、private外加abstract可以修饰类。 

文字总结: 

public:可以被所有类访问 

protected:除了其他类,其他都可以访问(不能修饰类,内部类除外) 

default:同一个包里的都可以访问 

private:最严格的访问权限,仅同一个类下的可以访问 

二、非访问修饰符 

static ,静态修饰符,修饰类方法和类变量。

 

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

 

abstract ,抽象修饰符,用来创建抽象类和抽象方法。

 

synchronized 修饰符,用于线程编程。

 

transient 修饰符,用于跳过序列化对象中特定的敏感变量

 

volatile 修饰符,用于线程编程。

 

static 静态修饰符 

1、修饰类方法 声明的类方法为静态方法,不依赖于对象,静态方法下的变量必须为静态变量 2、修饰类变量 声明的类变量为静态变量,不依赖于对象,本质上相当于一种全局变量,修改数值会导致全局变量的值都相应改变 

final 静态修饰符 

1、final 变量 只有一次赋值机会,被赋值后被定义为常数,无法再修改数值。 2、final 方法 被final修饰的方法为最终方法,可以被继承,但无法被修改。实际上,一般final修饰方法的主要目的就是防止被修改 3、final 类 final类 是无法被继承的 

abstract 抽象修饰符 

1、abstract 方法 抽象方法本身不包含实现,一般有子类继承后提供实现,抽象方法的存在实际上是为了未来方法的扩充“预留位置”。值得一提,抽象方法不能同时被abstract和final同时修饰,因为前者可以被继承,而final方法不可以被继承,二者矛盾。 2、abstract 类 抽象类的特点是不能够被实例化,抽象类中可以不包含抽象方法,但包含抽象方法的必须是抽象类。 

synchronized 修饰符 

被synchronized修饰的方法在每个时间点都只能被单线程访问。 

transient 修饰符 

当序列化的对象包含被transient修饰的对象时,JVM在访问时会自动跳过该变量。 

volatile 修饰符 

保证多线程之间的被volatile修饰的变量数值保持一致,用于同步。 

三、修饰符用途总结 

1、类修饰符 

public,公共修饰符,用于修饰公共类

abstract,抽象类修饰符

final,最终类修饰符,无法被继承

friendly,默认修饰符(即类前不添加任何修饰符),仅适用对象在同一个包内时,修饰类

 

2、成员变量修饰符 

   public,公共变量修饰符,可以被任意方法访问。  

 

   private,私有变量修饰符,只能被同一类下的方法访问。

   

   protected,保护变量修饰符,可以被同一类和子类下的方法访问

    

   friendly ,同一包下的方法均可以访问。

    

   final,最终修饰符,修饰常量。

    

   static,静态修饰符。

    

   transient,过度修饰符,没有特别作用的临时性变量。

    

   volatile,易失修饰符,该变量可同时被多个线程控制和修改。

 

3、方法修饰符 

public 公共修饰符

 

private 私有修饰符

 

protected 保护修饰符

 

final 最终修饰符

 

static 静态修饰符

 

synchronize 同步修饰符

 

native 本地修饰符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值