首页 > 学院 > 开发设计 > 正文

Java学习——public,private,protected等修饰符的区别

2019-11-14 23:14:40
字体:
来源:转载
供稿:网友
java学习——public,PRivate,protected等修饰符的区别

public、private、protecte、default是Java里用来定义成员的访问权限的,也就是在成员前不加任何权限修饰符。如: public class A{ void method(){}; } method就属于default权限。

这四个修饰符的访问权限如下表: ----------------------------------------------- 类内部 package内 子类 其他 public 允许 允许 允许 允许 protected 允许 允许 允许 不允许 default 允许 允许 不允许 不允许 private 允许 不允许 不允许 不允许 -----------------------------------------------

Java中访问修饰符public、private、protecte、default的意义讲解:public(接口访问权限): Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。private(你无法访问): Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。protected(继承访问权限): 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。default(包访问权限):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。(只限在Java语言中……)

Java语言定义了public、protected、private、abstract、static和final这6常用修饰 词外还定义了5个不太常用的修饰词,下面是对这11个Java修饰词的介绍: 1.public 使用对象:类、接口、成员 介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的 2.private 使用对象:成员 介绍:成员只可以在定义它的类中被访问 3.static 使用对象:类、方法、字段、初始化函数 介绍:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的。静态方法 是类方法, 是被指向到所属的类而不是类的实例。静态字段是类字段,无论该字段所在的类创建了 多少实例,该字 段只存在一个实例被指向到所属的类而不是类的实例。初始化函数是在装载类时执行 的,而不是在创建 实例时执行的。 4.final 使用对象:类、方法、字段、变量 介绍:被定义成final的类不允许出现子类,不能被覆盖(不应用于动态查询),字段值 不允许被 修改。 5.abstract 使用对象:类、接口、方法 介绍:类中包括没有实现的方法,不能被实例化。如果是一个abstract方法,则方法体 为空,该方 法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstract类 6.protected 使用对象:成员 介绍:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类 必须是该成 员所属类的子类。 7.native 使用对象:成员 介绍:与操作平台相关,定义时并不定义其方法,方法的实现被一个外部的库实现。 8.strictfp 使用对象:类、方法 介绍:strictfp修饰的类中所有的方法都隐藏了strictfp修饰词,方法执行的所有浮点 计算遵守 IEEE 754标准,所有取值包括中间的结果都必须表示为float或double类型,而不能利用 由本地平台浮 点格式或硬件提供的额外精度或表示范围。 9.synchronized 使用对象:方法 介绍:对于一个静态的方法,在执行之前jvm把它所在的类锁定;对于一个非静态类的方 法,执行 前把某个特定对象实例锁定。 10.volatile 使用对象:字段 介绍:因为异步线程可以访问字段,所以有些优化操作是一定不能作用在字段上的。 volatile有时 可以代替synchronized。 11.transient 使用对象:字段 介绍:字段不是对象持久状态的一部分,不应该把字段和对象一起串起。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表