Java中的四个访问控制修饰符 简述 在Java中共有四个: public -- 对外部完全可见 protected -- 对本包和所有子类可见 默认(不需要修饰符)-- 对本包可见 private -- 仅对本类可见 从上到下,public的开放程度最高. - 对外完全可见 对本包和所有子类可见 仅对本包可见 仅对本类可见 访问控制修饰符 Public Protected 默认(无修饰符) Private 同一包中的其它类 ✓ ✓ ✓ ✗ 同一包中的子类 ✓ ✓ ✓ ✗ 不同包中的其它类 ✓…
Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获.如果文章中出现错误,欢迎评论指出,共同交流~ 说在前面:这篇文章只研究Java中访问控制修饰符声明类的变量/方法的情况. 先抛出结论: * 成员变量/方法的访问权限 *                                        private        default  …
Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class HelloWorld { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; public static void main(String[] a…
1.public和private private修饰的成员变量和方法仅仅只能在本类中调用:  public修饰的成员变量和方法可以在任何地方调用. public修饰的内容是对外提供可以被调用的功能,需要相对稳定: private修饰的内容是对内实现的封装,如果公开会增加维护的成本. 2.protected和默认访问控制 用protected修饰的成员变量和方法可以被子类以及同一个包中的类使用. 默认访问控制即不书写任何访问控制符.默认访问控制的成员变量和方法可以被同一个包中的类调用 3.访问控制…
java中的修饰符分为类修饰符,字段修饰符,方法修饰符. 根据功能的不同,主要分为以下几种. 1.权限访问修饰符  访问权限的控制常被称为具体实现的隐藏 把数据和方法包进类中,以及具体实现的隐藏,常共同被称为封装 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关 程序猿在修改和完善代码时,也有着巨大的压力.通常总会有一些消费者(或者客户端程序猿)需要你的代码在某些方面保持不变.因此你想改动代码,但是他们却想代码保持不变.所以就面对一个基本问题“如何把变动的事物和保持不变的事物区分开来” 所…
一.标识符 1.概念:标识符好比人和物的姓名,java中标识符就是类.对象.方法.变量.接口和自定义数据类型等等的名字. 2.规则: (1)首位不能是数字. (2)标识符对大小写敏感. (3)不可以是java中的关键字和保留字. (4)标识符字间不能有空格. (5)可由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成,中文也行,很国际化. (6)没有长度限制. (7)不能是true.false和null. 3.命名约定: (1)类和接口名:每个字的首字母大写,含有大小写.例如,My…
引言:Java的修饰符根据修饰的对象不同,分为类修饰符.方法修饰符.变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符.访问控制存在的原因:a.让客户端程序员无法触及他们不应该触及的部分 b.允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员 一.访问控制修饰符Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限:default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象:类.接口.变量.…
一.public.protected.default和private修饰符的作用域 public:在java程序中,如果将属性和方法定义为 public 类型,那么此属性和方法所在的类和及其子类,同一个包中的类,不同包中的类都可以访问这些属性和方法. protected:在java程序中,如果对属性和方法使用了 protected 修饰符修饰,那么该属性和方法只能在自己的类和子类中被访问. (空的):默认的,如果没有指定访问控制修饰符,则表示使用默认修饰符,这时变量和方法只能在自己的类及该类同一…
Synchronized 修饰符 Synchronized 关键字声明的方法同一时间只能被一个线程访问.Synchronized 修饰符可以应用于四个访问修饰符. 实例 public synchronized void showDetails() { ....... } Transient 修饰符 序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量. 该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型. 实例 public transi…
其实Java的protected修饰符,权限定义的很微妙,大致有以下几种: (1)protected控制符用于修饰方法和成员变量: (2)一个类的protected方法或成员变量,在包外是不能通过该类对象进行访问的,即便在该类的子类中也不可这么做: 在该类包外的子类中能访问的只是子类自己继承来的protected 方法和属性,即可以用super来访问: (3)在包外的子类中,不能用另外一个子类的对象访问父类中的protected变量,尽管这两个子类继承自同一个父类: (4)在包内,则可以: (5…