04 对象与类

本文探讨了Java中类的设计,包括类之间的依赖、聚合、继承关系,以及类的编译、包作用域、类路径设置。同时讲解了类路径、方法注释的规范和类设计的最佳实践,如数据封装和初始化。
摘要由CSDN通过智能技术生成

类是构建对象的模板或蓝图.

所以, 通常是, 一个TotalTest类含有main方法, 用来启动程序 等等, 剩下的其他类, 就好比C的 struct+method() 封装在一起.

类之间的关系:

依赖:( Uses-a), 应该尽量减少类之间的相互依赖, 如果类A不知道B的存在, 它就不会关心B的任何改变, 软件术语叫 耦合度小.

       ( 只是在一个类中使用了另外的类, 并不表示类A需要有实例变量是类B的类型 )

聚合: (has-a), 聚合关系意味着类A对象包含类B的对象.

继承:(is-a)

UML 图形表示:

 

接口继承: 并非是实现接口, 而是想类一样, 定义接口A, 再定义接口B, 然后让接口B extends A, 是这样的关系, 比如你定义了一个接口A, 后来发现接口A中得方法不够使用, 如果这时你增加方法的话, 那么以前你写的程序使用到这个接口的, 都需要修改, 因为java规定在实现接口时, 必须实现接口里的全部方法, 此时你就可以增加一个接口B extends A, 然后把想要新增加的方法放在接口B里.

关联和直接关联, 其实聚合也是关联的一种, 其实也没有必要把关系搞的那么清楚, 在UML途中, 最重要和常用的关系就是以上的几种关系.

多个源文件的编译

比如两个源文件, Employee.java 和 EmployeeTest.java, 有两种编译办法,

1. javac Employee*.java

2. javac EmployeeTest.java, 当java编译器发现 EmployeeTest.java使用了Employee类时会查找名为Employee.class文件, 如果没有找到, 就会自动搜索Employee.java并编译它, 更重要的是, 如果 Employee.java版本较已有得 Employee.class文件版本新, java编译器会重新编译Employee.java.

类似 unix 的 "make" 工具

包作用域

public : 公共访问

private : 私有的, 本身类里边可以访问

如果没有指定public, private的, 那么可以被同一个包中得所有方法访问. (一般很少使用, 都使public 或 private), 包作用域的方法和instance变量是可以被继承的.

类路径

1. 类存储在文件系统的子目录中(即 本机中) 类路径必须与包名匹配.

2. 类文件也可以存储在 JAR(JAVA归档)文件中, 很多第三方库文件就是使用这种, 在一个JAR文件中, 可以包含多个压缩形式的类文件和子目录.

为了使类能够被多个程序共享, 需要做到以下几点:

1) 把类放到一个目录中, 例如: /home/user/classdir, 需要注意的是, 这个目录是包 树状接口的基目录. 如果希望 com.horstman.corejava.Employee类添加到其中, 这个 Employee.class类文件就必须位于子目录 /home/user/classdir/com/horstman/corejava/ 中.

2) 将 JAR 文件放在一个目录中, 例如: /home/user/archives

3) 设置类路径 (class path), 类路径是所有包含类文件的路径的集合.

设置类路径

编译时, 可以通过设置 classpath 来制定类路径, java -classpath 路径 a.java

方法注释:

@param variable description

@return description

@throws class description

通用注释:

@authur name

@version text

@since text

@deprecated text ( 不再使用注释 )

@see reference

注释的抽取: eclipse 可以自动抽取, 也可以使用命令 javadoc -d 路径 包名

类设计技巧

1) 一定要将数据设计为 private

2) 一定要对数据初始化

3) 不要在类中使用过多的基本数据类型

4) 使用标准格式进行类的定义

书写顺序:

共有访问特性部分

包作用域访问特性部分

私有访问特性部分

在每一部分中, 应该按照下列顺序列出:

实例方法

静态方法

实例域

静态域

5) 将职责过多的类分解

6) 类名和方法名能够体现它们的职责

 

 

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值