在Java中有四种不同的作用域,分别是 public protected default 和private,这四种不同的作用域的限制由前到后逐渐的增加。
现在来看看public的作用域,在所有的作用域中,public可谓是最宽松的,在编写类文件的时候,只要该类以public关键字修饰,那么这个类的类文件就必须以该类的简单类名来命名。在类的内部,被它修饰的无论是参数还是方法,都可以在任何地方访问的到(当然前提是这个类是公开的,就是上文说到的是以public关键字修饰的类)。
而对于protected作用域来说,它的限制就严格了一点,它只允许本类、同一个包内的其他类(这个类不是它的子类)或者它的子类使用被它修饰的方法或者参数(以protected修饰的类貌似还没遇到过,O(∩_∩)O~,有用过的给个提醒),子类使用父类中的protected方法或者参数时不受包位置的影响,这就意味着,即使位于不同包的类想要调用它父类的protected方法或者参数也是被允许的。
对于default作用域(即不加任何的关键字修饰的方法或者参数),它的限制就严格的多了,除了本类和本包中的类能访问以外,就是不在同一个包内的它自己的子类也不能访问(有点像老子跟儿子分家了,老子的东西就不能给儿子用了一样O(∩_∩)O~)。
private作用域在这四种之内是最为严格的,除了它自己,哪怕是同包内的其他类都不允许使用。通常我们使用这个关键字来实现对类的方法的隔离,它意味着,除了本类的方法能够调用这个私有化成员以外,其他的包括同包中的类和子类都不能访问这些个私有的成员。(肥水不流外人田嘛,能被private修饰的东东怎么说也是相当有价值的了)。
具体的信息看下图:
作用域 |
当前类 |
同一包内 |
子孙类 |
其他包 |
public |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
× |
default |
√ |
√ |
× |
× |
private |
√ |
× |
× |
× |
分享到:
相关推荐
这四个作用域的可见范围如下表所示。 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly ...
超给力的讲解了Public,Private,Protected,Published的区别让大家不要清晰的应用这几个关键字
java内置对象作用域java内置对象作用域java内置对象作用域java内置对象作用域
java变量的生命周期与作用域ppt 很详细的资源
Java四种不同的变量作用域使用说明,包括public,private,protected,default,指出它们之间细微的区别
1.作用域public,private,protected,以及不写时的区别。 (1)、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 (2)、private:private表示私有,私有的意思就是除了class自己...
理解局部变量与全局变量的区别及作用域 能区分局部变量与全局变量,并读懂程序 变量的作用域(scope of a variable) 就指变量在程序中可以被引用的范围。 变量的作用域 public static void method1(){ . . for ( int...
1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...
// 全局作用域:在script之间或者一个独立的js文件 script之间或者一个独立的js文件里的内容区域,在全局作用域中定义的作用域 全局作用域。 在任何位置都可以访问 // 局部变量:在函数作用域之间里的一个或者...
1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...
给面试的你们,Java 笔试作用域public,private,protected,以及不写时的区别
1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...
java经典面试题 Java基础方面:作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package
0、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...
b:作用域public,private,protected,以及不写时的区别;c:重写和重载的区别; d:一些集合类的区别,工作原理,如list,map等; e:arraylist, vector, hashmap ,hashtable,linklist等的区别; f:String类的相关方法的...
java面试题(基础部分).pdf 1、作用域public,private,protected,以及不写时的区别
Java预备面试题•• 作用域public,private,protected,以及不写时的区别 面向对象的特征有哪些方面
关于ES6中let 和 const 命令的用法以及注意事项:中的报错的样式ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。
本文章是关于作用域的定义及应用。
1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...