java 访问权限控制
java提供四种访问权限:
public > protected > 包访问权限(无关键词) > private
包:库单元
对于包访问权限,一个包内的都可以访问。
在eclipse中创建类时如果不创建包,类将会被创建在默认包(default package)中,我一直习惯这样,然而这是一个很不好的做法(= =!)不相关的类应该置于不同的包。因为如果一个包中有两个名字相同的类会产生冲突的。
把不同的类放入不同的包,如果想使用其他包的类,将需要在名字前加上包名。例如ArrayList类在java.util目录下,使用时将写作java.util.ArrayList。这样写名字冗长,所以java提供了import关键字来导入包。
import java.util.ArrayList; 然后就可以在文件中直接使用ArrayList了。如果import java.util.*; 将导入java.util下的所有类。
有引入包就有打包和导出包。
打包是通过关键字package实现的,它必须是文件除注释以外的第一句代码。格式为package packagename;包名要独一无二,所以一般为域名的反顺序。
java解释器运行需要找出环境变量CLASSPATH,我们可以写自己的类库然后引用。然而我花了两个小时也没搞好,暂时放弃这个了,,,,直接用eclipse可以打包成jar(在工程处右键选择Export),然后在导入(右建Properties-->java build path-->Add external JARs)就可引用自己的类库了。
通过import xxx.myclass(xxx是路径)可以导入类。对于类中的静态方法,可以通过import static xxx.myclass.staticMethod;可以导入静态方法,在文件中可以直接使用staticMethod()而不需要类名。而import static xxx.myclass.*;可以导入所有静态方法。注意:只能用于静态方法。
访问权限
对于类中成员:
public访问权限,每个人都是可用的。
protected继承时,子类可以访问,同时具有包访问权限。
包访问权限,一个包的可以访问。
private只有类内成员可以访问。
对于一个类:
我们都知道一个文件只能有一个public类(也可以一个都没有),这个类名要与文件名相同,于是其他类都是包访问权限。类没有private和protected(内部类处有特例)。一个包访问权限的类对于其他包是不可见的。
小结
提供访问权限有两个作用:
1.对于类的用户来说,可以使他们不会触碰到不该触碰的东西,同时简化对类的理解。
2.使接口和实现隔离和加以保护,更改类的内部设计而不会对类的使用者带来重大影响。
java 访问权限控制的更多相关文章
- 论Java访问权限控制的重要性
人在什么面前最容易失去抵抗力? 美色,算是一个,比如说西施的贡献薄就是忍辱负重.以身报国.助越灭吴:金钱,算是另外一个,我们古人常说“钱乃身外之物,生不带来死不带去”,但我们又都知道“有钱能使鬼推磨” ...
- [THINKING IN JAVA]访问权限控制
6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...
- JAVA访问权限控制[zhuan]
Java的访问权限控制修饰符,从最大权限到最小权限依次是:public.protected.包访问权限(默认,没有关键字)和private.对于类的访问权限只能是:public和包访问权限(但内部类可 ...
- Java访问权限控制
访问权限控制 java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.prote ...
- Java 访问权限控制:你真的了解 protected 关键字吗?
摘要: 对于类的成员而言,其能否被其他类所访问,取决于该成员的修饰词:而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词.在Java中,类成员访问权限修饰词有四类:private,无(包访问 ...
- Java 访问权限控制 小结
总所周知,Java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的. 访问权限控制的等级,从最大权限到最小权限依次为:public.protected.包访问权限( ...
- Java 访问权限控制- protected 关键字
protected 关键字的真正内涵 文章来源:http://blog.csdn.net/justloveyou_/article/details/61672133 很多介绍Java语言的书籍(包括& ...
- (转)浅析Java中的访问权限控制
原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...
- Java成员的访问权限控制
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...
随机推荐
- JAVA TCP/IP Socket通信机制以及应用
关于局域网通信(同一wifi下,自己电脑当服务端,同一网络段) 1.例如192.168.1.x,只有x位不相同视为同一网络段 2.当具备了以上条件,即可编写服务端代码,服务端的机制. 3.Server ...
- Linux开启服务器问题(李蕾问题)
每次启动192.168.1.223服务器时,都要执行这个命令! #:service iptables stop
- Windows获取其他进程中Edit控件的内容
最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下. 刚开始拿到这个问题,很自然的就想到GetDlgItemText() ...
- about js
function: javascript jquery modernizr yepnope code organization requirejs backbonejs http://blog.csd ...
- 《php和mysql web开发》读书笔记
总算是强迫自己把第一篇给看完了,在这里做一个小结,将一些知识点记录下来. 一.第一篇 使用PHP 1.php中的注释.php支持c.c++和shell脚本风格注释 /**/多行注释 //单行注释 ...
- 编码问题 关于hibernate jdbc数据库连接在xml配置与在properties文件配置的差异
在properties中,&字符不需要转义,因此在连接数据库的时候使用编码的地方直接使用&即可: driverClass=com.mysql.jdbc.Driver jdbcUrl=j ...
- [杂题]URAL1822. Hugo II's War
看懂题意的请直接跳过下一坨! 本人有表达障碍! ========================================== 题意: (题意真的很难很难懂啊!!! 去他娘的**) 有一个王国 ...
- VirtualBox虚拟vdi磁盘扩容
http://blog.chinaunix.net/uid-25627207-id-3342576.html
- 很受欢迎的Linux笔记(短小精悍)
http://blog.csdn.net/xsl1990/article/details/8274028 如何知道所使用的LINUX是哪个发行版? lsb_release -a 查找某个文件的另类方法 ...
- PICK定理模板
PICK定理: S=I+O/2-1 S为多边形面积,I多边形内部的格点,O是多边形边上的格点 其中边上格点求法: 假设两个点A(x1,y1),B(x2,y2) 线段AB间格点个数为gcd(abs(x1 ...