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. SLua

    安装 1.下载最新版,将Assets目录里的所有内容复制到工程中,对于最终产品,可以删除例子,文档等内容,如果是开发阶段则无所谓. 2.等待unity编译完毕,如果一切顺利的话,将出现SLua菜单,点 ...

  2. sencha touch mvc

    controller: Ext.define('MyApp2.controller.MyController1', { extend: 'Ext.app.Controller', config: { ...

  3. Quartz Sheduler 入门

    Quartz Sheduler 入门 原文地址:http://www.quartz-scheduler.org/generated/2.2.2/html/qtz-all/ 下载地址:http://qu ...

  4. user is not mapped

    用Hibernate实现一个用户的登陆过程,当我在JSP的登陆页面输入姓名和密码,点登陆后,显示登陆失败页,在服务器里显示如下的错误信息:  org.hibernate.hql.ast.QuerySy ...

  5. ISNULL

    ISNULL 使用指定的替换值替换 NULL. 语法ISNULL ( check_expression , replacement_value ) 参数check_expression 将被检查是否为 ...

  6. BZOJ 1738: [Usaco2005 mar]Ombrophobic Bovines 发抖的牛

    Description 约翰的牛们非常害怕淋雨,那会使他们瑟瑟发抖.他们打算安装一个下雨报警器,并且安排了一个撤退计划.他们需要计算最少的让所有牛进入雨棚的时间.    牛们在农场的F(1≤F≤200 ...

  7. Javascript事件绑定的几种方式

    Javascript的事件绑定主要有四种方法(一下在IE中运行正常,但不保证其他浏览器): [注:onXXX为某一事件,fun为某一function,domId为某一DOM对象id,event类型见后 ...

  8. [JAVA]HDU 4919 Exclusive or

    题意很简单, 就是给个n, 算下面这个式子的值. $\sum\limits_{i=1}^{n-1} i \otimes (n-i)$ 重点是n的范围:2≤n<10500 比赛的时候 OEIS一下 ...

  9. android 业务需求: 先干掉自己, 在重启自己

    // 重启应用 public void restartApp() { Intent intent = new Intent(); // 参数1:包名,参数2:程序入口的activity intent. ...

  10. SPRING IN ACTION 第4版笔记-第五章BUILDING SPRING WEB APPLICATIONS-004-以query parameters的形式给action传参数(@RequestParam、defaultValue)

    一. 1.Spring MVC provides several ways that a client can pass data into a controller’s handler method ...