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. js replace in multi-line string

    .replace(/{id}/g, '_' + counter);

  2. ExtJS4加载FormPanel数据的几种方式

    我们做web应用最多的就是处理表单,extjs为我们提供了很多处理表单的功能,很多初学者疑惑怎么加载表单数据,到底能用什么方式加载?本文中,我将我自己实验过的进行一下总结,自己备忘,也希望能帮助到其他 ...

  3. 对敏捷开发的误解(转自MBAlib)

    对敏捷开发的误解 误解一:敏捷对人的要求很高 很多人在尝试实施敏捷时说:敏捷对人的要求太高了,我们没有这样的条件,我们没有这样的人,因此我们没法敏捷.可是,敏捷对人的要求真的那么高么? 软件归根到底还 ...

  4. sjtu1591 Count On Tree

    Description Crystal家有一棵树.树上有\(n\)个节点,编号由\(1\)到\(n\)(\(1\)号点是这棵树的根),两点之间距离为1当且仅当它们直接相连.每个点都有各自的权值,第\( ...

  5. JavaSE replaceAll 方法

    private String srcStr = "index\\.php\\?action=";//要替换的原字符串 private String destStr = " ...

  6. Hibernate 一对多自身双向关联关系 用于类别表的实现

    分类:一对多自身双向关联关系 Java持久化类: package com.hyy.hibernate.one_to_many.domain; import java.util.HashSet; imp ...

  7. UVA 1160 X-Plosives

    题意是一次装入物品,物品由两种元素组成,当遇到即将装入的物品与已经装入的物品形成k个物品,k种元素,跳过该物品的装入.可以将每种元素看成顶点,物品看成一条边.这样问题就转化为利用并查集求环的情况. 算 ...

  8. ASP.NET在主题中添加CSS文件

    ASP.NET在主题中添加CSS文件 在ASP.NET中,可以使用CSS来控制页面上HTML元素和ASP.NET控件的皮肤.如果在主题文件夹中添加了CSS文件,则在页面应用主题时也会自动应用CSS. ...

  9. jquery checkbox获取多个选项

    http://www.jb51.net/article/27186.htm http://www.cnblogs.com/libingql/archive/2011/11/07/2238663.htm ...

  10. 【HDOJ】1756 Cupid's Arrow

    图论,点在多边形内部的判定. /* 1756 */ #include <iostream> #include <string> #include <map> #in ...