美文网首页
cs61b2018sp WEEK6 包、访问控制、Object

cs61b2018sp WEEK6 包、访问控制、Object

作者: 且乐一杯酒 | 来源:发表于2022-03-28 08:02 被阅读0次

2022.3.29

WEEK6 包、访问控制、Object

一、内容

1.包的使用

我们之前讲过包,我们现在来讲讲包如何使用

创建包

在代码顶部写package XX.XX.XX这里的XX指包名,注意文件夹结构描述如下图所示


如果package A.B.C,那么这个文件就在A文件夹里的B文件夹里的C文件夹。

使用包

即** 包名+类名 **


可以直接“完整”包名(相对于当前目录下的包名)使用
先导包,再直接使用

2.JAR 文件

这个JAR文件其实就像一种压缩文件,我们把文件后缀 .jar 改为 .zip 就可以查看里面的文件
其本质就是很多java文件的压缩包,其实不能很好地保护好你的代码

在IntelliJ创建一个jar文件

第一步
这里的库(Libraries)可以引入一个jar文件
选中工件(Artifacts)的+ -> JAR->来自具有依赖性的模块(from module with dependencies)
设置一些位置,OK就行了

3.访问控制(Access Control)

我们前面使用过 public 和 private 修饰符



如果我们希望有一些字段可以被子类访问但不会被其他无关的类访问,那应该用什么修饰呢?


protect

如果不进行修饰,又会怎么样呢?


来个例子看看



虽然子类继承了父类,但size是defult修饰的属于包内私有,而两个类的包名不同,即不在一个包内,所以编译出错

4.访问控制小练习


好的,问题是,如下代码有没有编译错误?


注意这个类是默认包的

第一行:可以。BlackHole和hirsute都是pubilc,可以访问
第二行:可以。b的静态类型为BlackHole,有add方法。
第三行:不可以。同上,BlackHole没有get方法,错误
第四行:不可以。我们注意,hasHair前没有public,只能在其包中访问到,所以不行。

5.对象方法(Object Methods)

所有类都继承Object,我们看看Object里有什么方法吧


二、小结

到此为止,java基础语法讲完了,之后会正式开始讲数据结构和算法,可喜可贺!好好犒劳一下自己,然后抓紧时间往下学习吧!

相关文章

  • database with spring

    glossary spring 存储层的设计原理 service object 层不管理数据访问控制,通过接口访问...

  • BOM&DOM

    javacsript是通过访问BOM(Browser Object Model)对象来访问、控制、修改客户端(浏览...

  • DOM和BOM

    javacsript是通过访问BOM(Browser Object Model)对象来访问、控制、修改客户端(浏览...

  • PHP魔术方法的使用

    Object类 Object类中包含_set()和_get()方法后,就可以访问到未定义的属性 Object类中包...

  • 深入理解 Object.defineProperty

    Object.defineProperty() 可以用来给对象添加属性,并控制对属性的访问操作。在我们访问或者修...

  • Windows Internals :Security - Pa

    保护对象(Protect Object) 对象保护和访问日志记录是自主访问控制和审计功能的本质所在。在Windo...

  • 2018-05-07

    java控制访问符 public:公开,同类 同包 子类 不同包都可以访问 default:默认,只向同包同类开放...

  • Java编程思想(第四版)学习笔记(7)

    第六章 访问权限控制 1.访问权限控制的等级 从最大权限到最小权限依次为:public、protected、包访问...

  • npm 命令

    权限 t/team 组织成员管理 access 包访问控制 ...

  • 6、访问权限控制(封装)

    访问权限限制等级,从大到小依次为:public, protected, 包访问权限, private访问权限的控制...

网友评论

      本文标题:cs61b2018sp WEEK6 包、访问控制、Object

      本文链接:https://www.haomeiwen.com/subject/ekjsjrtx.html