《java编程思想》---封装


包的概念:
包内含一组类,被组织在单独的命名空间下。是
包的导入用import关键字。
在每一个编译单元(.java源代码文件中)可以有一个public类,类名和源文件名称相同,作为主类。
其他类不能用public关键字修饰,只能通过主类建立联系.

例如,这里把Mug类变成public类,会报错应当声明源文件名称为Mug.

.java源文件每一个类都会输出一个.class文件,java的工作方式是把一组.class文件打包(.jar)运行
package:类的集合,需要用import导入
.class文件的加载:通过配置好的classpath路径+package路径链接起来,写到.class文件的目录即可。
jar包需要准确的包路径,不能写到目录。
如果通过import导入了两个相同的类库,在创建和使用时需要手动指明类库的位置。


访问权限修饰符:
包访问权限(默认):不加任何的修饰符,在同一个包下可以互相访问。
Public:接口访问权限,全局可用。
默认包:如果在相同的目录中没有指定明确的报名,那么可以互相使用,尽管class不是public权限也可以。

 

 


Private:
仅提供给类支持和帮助,外界无法访问和修改。
Protect:
希望某个特定成员能被继承类访问,但不能被其他类访问
protect提供包访问权限
具有包访问权限的类定义一个public构造器是虚假的构造器,从包外仍然不能访问
接口和实现:
第一个原因是确立客户端程序员可以使用和不能使用的边界
将接口与实现分离。如果在一组程序中使用接口,而客户端程序员只能向 public 接口发送消息的话,那么就可以自由地修改任何不是 public 的事物(例如包访问权限,protected,或 private 修饰的事物),却不会破坏客户端代码。

类访问权限:
注意public修饰的时候,一个.java源程序中只能有一个public主类.

 

posted @   NobodyHero  阅读(88)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示