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 访问权限控制的更多相关文章

  1. 论Java访问权限控制的重要性

    人在什么面前最容易失去抵抗力? 美色,算是一个,比如说西施的贡献薄就是忍辱负重.以身报国.助越灭吴:金钱,算是另外一个,我们古人常说“钱乃身外之物,生不带来死不带去”,但我们又都知道“有钱能使鬼推磨” ...

  2. [THINKING IN JAVA]访问权限控制

    6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...

  3. JAVA访问权限控制[zhuan]

    Java的访问权限控制修饰符,从最大权限到最小权限依次是:public.protected.包访问权限(默认,没有关键字)和private.对于类的访问权限只能是:public和包访问权限(但内部类可 ...

  4. Java访问权限控制

    访问权限控制           java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.prote ...

  5. Java 访问权限控制:你真的了解 protected 关键字吗?

    摘要: 对于类的成员而言,其能否被其他类所访问,取决于该成员的修饰词:而对于一个类而言,其能否被其他类所访问,也取决于该类的修饰词.在Java中,类成员访问权限修饰词有四类:private,无(包访问 ...

  6. Java 访问权限控制 小结

    总所周知,Java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的. 访问权限控制的等级,从最大权限到最小权限依次为:public.protected.包访问权限( ...

  7. Java 访问权限控制- protected 关键字

    protected 关键字的真正内涵 文章来源:http://blog.csdn.net/justloveyou_/article/details/61672133 很多介绍Java语言的书籍(包括& ...

  8. (转)浅析Java中的访问权限控制

    原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...

  9. Java成员的访问权限控制

    Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...

随机推荐

  1. JAVA TCP/IP Socket通信机制以及应用

    关于局域网通信(同一wifi下,自己电脑当服务端,同一网络段) 1.例如192.168.1.x,只有x位不相同视为同一网络段 2.当具备了以上条件,即可编写服务端代码,服务端的机制. 3.Server ...

  2. Linux开启服务器问题(李蕾问题)

    每次启动192.168.1.223服务器时,都要执行这个命令! #:service iptables stop

  3. Windows获取其他进程中Edit控件的内容

    最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下. 刚开始拿到这个问题,很自然的就想到GetDlgItemText() ...

  4. about js

    function: javascript jquery modernizr yepnope code organization requirejs backbonejs http://blog.csd ...

  5. 《php和mysql web开发》读书笔记

    总算是强迫自己把第一篇给看完了,在这里做一个小结,将一些知识点记录下来. 一.第一篇 使用PHP 1.php中的注释.php支持c.c++和shell脚本风格注释 /**/多行注释  //单行注释   ...

  6. 编码问题 关于hibernate jdbc数据库连接在xml配置与在properties文件配置的差异

    在properties中,&字符不需要转义,因此在连接数据库的时候使用编码的地方直接使用&即可: driverClass=com.mysql.jdbc.Driver jdbcUrl=j ...

  7. [杂题]URAL1822. Hugo II's War

    看懂题意的请直接跳过下一坨! 本人有表达障碍! ========================================== 题意: (题意真的很难很难懂啊!!!  去他娘的**) 有一个王国 ...

  8. VirtualBox虚拟vdi磁盘扩容

    http://blog.chinaunix.net/uid-25627207-id-3342576.html

  9. 很受欢迎的Linux笔记(短小精悍)

    http://blog.csdn.net/xsl1990/article/details/8274028 如何知道所使用的LINUX是哪个发行版? lsb_release -a 查找某个文件的另类方法 ...

  10. PICK定理模板

    PICK定理: S=I+O/2-1 S为多边形面积,I多边形内部的格点,O是多边形边上的格点 其中边上格点求法: 假设两个点A(x1,y1),B(x2,y2) 线段AB间格点个数为gcd(abs(x1 ...