博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA中public private 等访问权限设置 (转)
阅读量:5880 次
发布时间:2019-06-19

本文共 815 字,大约阅读时间需要 2 分钟。

在说明这四个关键字之前,我想就class之间的关系做一个简单的定义:对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。

1、public:对所有用户开放,所有用户都可直接调用

2、private:私有。除了class自己之外,任何人都不可直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可使用。
3、protected:对于子女、朋友来说,就是public的,可自由使用,无任何限制;而对于其他的外部class,protected就变成private。(同一个包中的类,若不在同一个包中,必须为其子孙类才可使用)

4、默认:默认可以称为friendly,但是java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。

作用域        当前类    同一package   子孙类     其他package 

public            √                 √                   √               √ 
protected      √                 √                   √               × 
default          √                 √                    ×               × 
private         √                  ×                    ×               ×

补充说明:

       1.每个编译单元(类文件)都仅能有一个public class 
       2.public class的名称(包含大小写)必须和其类文件同名。 
       3.一个类文件(*.java)中可以不存在public class。 
        如果我们在某个包内撰写一个class,仅仅是为了配合同一包内的其他类工作,并且我们不想再为了撰写说明文档给客户(不一定是现实意义的客户,可能是调用这个类的类)看而伤脑筋;或者有可能过一段时间之后会彻底改变原有的做法,并以全新的版本代替旧版本,这种情况下一般会默认。
       4、class不可以是private和protected

转载于:https://www.cnblogs.com/zwenwen/archive/2012/02/29/2373492.html

你可能感兴趣的文章
Vim 中使用 OmniComplete 为 C/C++ 自动补全(部分增加)
查看>>
初识Hadoop
查看>>
Oracle之内存结构(SGA、PGA)
查看>>
Binary Search Tree IN C
查看>>
ios-cocos2d游戏开发基础-进度条-开发笔记
查看>>
jquery之trigger()
查看>>
打造自己的Cacti模板
查看>>
Spring源码浅析之事务(四)
查看>>
我的友情链接
查看>>
[APM] 2个实例+5个维度解读APM技术
查看>>
Jndi配置数据源
查看>>
华为交换机端口链路类型简析——access、trunk、hybrid
查看>>
[转载] Live Writer 配置写 CSDN、BlogBus、cnBlogs、163、sina 博客
查看>>
2013年SEO集群最新优化工具
查看>>
SQL:连表查询
查看>>
MySQL日期函数、时间函数总结(MySQL 5.X)
查看>>
c语言用尾插法新建链表和输出建好的链表
查看>>
Java基础学习总结(1)——equals方法
查看>>
Java基础学习总结(2)——接口
查看>>
【性能优化】---懒加载---
查看>>