Java 中,我们用访问权限修饰词确定库中的哪些类对于使用者是可以使用的。
访问权限修饰词有 public,protected,private 和什么都不写。
那么对于类来说,我们只可以用 public 和什么都不写两种。
protected 和 private 是不可以直接修饰类的。
我们在编译器中进行尝试。发现两种都是会提示报错的。说明是不可行的。


而我们使用 public 和不写修饰词是可以通过编译的。


弄清楚了什么可以修饰,什么不可以修饰之后,我们再来详细分别探究一下 public 和 不写修饰词的两种情况。

Public 修饰类

我们在使用public 修饰类的时候,要注意以下两点限制。
1、同一个类中只能有一个public类,多个是不被允许的。

这样是不行的,编译器告诉我们,需要在另一个文件中,重新声明这个class类。
2、public 修饰的类名必须与文件的类名一模一样,大小写敏感。
比如我们的文件名是 TestPublic,我们的public 修饰的类名也必须是 TestPublic,当你小写了一个字母,或者换名,都是不可以的。


再来说一下,当类是使用 public 修饰的时候,证明该类可以被同包或者不同包的任意类都可以访问是完全公开的。

无修饰词的修饰类

与public 不同的是,比如你的文件名叫 TestPublic,你内部的类如果不加修饰词,你可以随意取名。这样是完全不会报错的,但是一般是不会这么做的。

而且如果不使用修饰词修饰,在一个文件中,是可以拥有多个无修饰词的类的。

当你使用无修饰词的类的时候,只有与当前类同包下的类才可以创建对象。其他包是不可以创建这个类的对象的。
所以说,对于类来说,我们要不然使用 public 修饰,要不然使用包访问权限修饰。
我们使用修饰词是来控制对于类的访问。我们如果不想让类被其他人使用,可以将类的构造器方法设置为private。这样其他类就不能创建这个类的对象。


但是这也不是肯定的,我们可以通过一种设计模式,单例模式来实现。这样,即使构造方法是私有的。我们也可以获得这个对象。

最新文章

  1. Alien Dictionary
  2. MATLAB - 练习程序,求灰度图像均值、最大、最小数值
  3. js运动:分享到
  4. IOS 应用生命周期
  5. SQL Serve允许远程连接的解决方法
  6. 关于Java中计算日期差值不准确问题
  7. 【转】欧拉回路&特殊图下的哈密顿回路题集
  8. jsp HTTP Status 405 - HTTP method GET is not supported by this URL
  9. HTML Canvas 鼠标画图
  10. [React] Intro to inline styles in React components
  11. 201521123122 《java程序设计》第十四周学习总结
  12. 【eclipse】mybatis配置文件创建与mapper接口文件创建
  13. PAT甲级1123 Is It a Complete AVL Tree【AVL树】
  14. MySQL查询操作——2
  15. C#中的参数和调用方式(可选参数、具名参数、可空参数)
  16. MyBatis之Hello world(Mybatis入门)
  17. Java动态追踪技术探究
  18. win10安装.net3.5
  19. close_on_exec标志位的作用
  20. 8 个不常见但很有用的 Git 命令

热门文章

  1. 新闻实时分析系统 Spark2.X分布式弹性数据集
  2. Golang 指针理解
  3. BeanUtils.copyProperties()怎样去掉字段首尾的空格
  4. 如何理解Nginx, WSGI, Flask(Django)之间的关系
  5. Maven安装目录分析
  6. PHP的常用字符串处理
  7. AWK工具 使用介绍
  8. vue实例化过程
  9. JQuery动态添加控件并取值
  10. 《Dotnet9》系列-开源C# WPF控件库3《HandyControl》强力推荐