java中的权限修饰符的理解
首先了解概念:
在java中有四种权限修饰符:范围从大到小分别是:public、protect、default(friendly)、private,它们之间的区别是:
- public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
- protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
- default: 这个访问权限可能是很多人容易所忽视的,即不写任何关键字。默认权限(同包权限)即:包内可访问,包外不可访问,不管是子类还是没有继承关系的类。
- private: 只能在当前类中使用,外部不能访问。
理解:什么是同包与不同包?
这很好理解啊,假如把包看成文件夹,包里面的东西就是文件,在同一个文件夹里面文件的就是同包,看代码:
package a:
//function1声明在a包中
public class function1{
//声明的变量与方法;
}
package b;
//function2声明在b包中
public claass function2{
//声明的变量与方法;
}
首先说同包,先看一个表(打勾的表示可以访问):
作用域 |
当前类 |
子孙类 |
外部类 |
public |
√ |
√ |
√ |
protected |
√ |
√ |
× |
Default(friendly) |
√ |
√ |
√ |
private |
√ |
× |
× |
结论:在同一个包的前提下,在继承时,子类只能继承父类中的public、protected以及default访问权限的成员变量或方法,并且继承之后,这些成员变量或方法的访问权限和之前的一样,如父类中是public,继承后还是public。
在不同包的情况下,看表:
作用域 |
当前类 |
子孙类 |
外部类 |
public |
√ |
√ |
√ |
protected |
√ |
√ |
× |
Default(friendly) |
√ |
× |
× |
private |
√ |
× |
× |
结论:在不同包的前提下,在继承时,子类只继承父类中的public和protected访问权限的成员变量或方法作为子类自己的成员变量或方法。
java中的权限修饰符的理解的更多相关文章
- Java中的权限修饰符private、protected、public
java中的修饰符分类: 权限修饰符: private, default, protected, public 状态修饰符: static, final 抽象修饰符: abstract 权限修饰符 我 ...
- (转)JAVA中的权限修饰符
注:本博文是转载的,原文地址:http://blog.csdn.net/xk632172748/article/details/51755438 Java中修饰符总结: 访问控制修饰符 访问控制修饰符 ...
- java中的权限修饰符&关键字
1.类的权限修饰符default(不写权限修饰符),public 说明:类的权限修饰符只有default(不写权限修饰符)和public. package world default Y N pu ...
- Java中的权限修饰符
What:访问控制权限是可以设置代码的访问范围. Where:访问权限既可以修饰类中的属性,又可以修饰类中的方法,而public和default还可以修饰类. 在同一个java文件里,公有类有且仅有一 ...
- java中4种修饰符访问权限的区别及详解全过程
java中4种修饰符访问权限的区别及详解全过程 http://jingyan.baidu.com/article/fedf0737700b3335ac8977ca.html java中4中修饰符分别为 ...
- 详解Java中的访问控制修饰符(public, protected, default, private)
Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...
- Java学习笔记十九:Java中的访问控制修饰符
Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class Hello ...
- 分享知识-快乐自己:java 中的访问修饰符
1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制 ...
- Java 四种权限修饰符
Java 四种权限修饰符访问权限 public protected (default) private 同一个类(我自己) yes yes yes yes 同一包(我邻居) yes yes yes n ...
随机推荐
- python 中文乱码问题2
1.文件存为utf-8的格式,windows和linux两个环境都可以用 2.中文输出可以采用u方法 比如:print u'成年'
- Codeforces Round #342 (Div. 2) B. War of the Corporations(贪心)
传送门 Description A long time ago, in a galaxy far far away two giant IT-corporations Pineapple and Go ...
- php多文件压缩下载
/*php多文件压缩并且下载*/ function addFileToZip($path,$zip){ $handler=opendir($path); //打开当前文件夹由$path指定. whil ...
- ng-show与ng-if区别
<p>ng-show and ng-if : </p> <div ng-show="isShow">ng-show是否显示</div> ...
- python学习笔记-(十六)python操作mysql
一. mysql安装 1. windows下安装mysql 1.1. 下载源: http://dev.mysql.com/downloads/installer/,请认准对应版本 Windows (x ...
- ElasticSearch-5.0安装head插件
环境 Windows10企业版X64 JDK-1.8 ElasticSearch-5.0.0 node-v4.5.0-x64.msi git客户端 步骤 安装node到D盘.如D:\nodejs. 把 ...
- Windows 基础知识2
1.进程通信的几种方式 管道:匿名,命名 信号 报文 共享内存 信号量:主要作为进程和同一进程的线程同步的方式 套接字 2.线程通信的几种方式: 临界区,信号量.互斥量.事件. 信号量:它允许多个线程 ...
- logo新
- ecshop后台权限审核列表
1.权限语言包 languages\zh_cn\admin\priv_action.php //微仓 $_LANG['depot'] = '微仓管理'; $_LANG['depot_list_is_c ...
- 制作wordpress留言板
总结步骤如下: 1.找到模板目录中的single.php文件,复制single.php并重命名为guestbook.php 2.在guestbook最顶部添加如下代码(用于模板调用) <?php ...