目录
0. 在Eclipse中使用git(自行完成)
目标:
学会在Eclipse中使用Git。
内容:
- 配置Egit;
- 在Eclipse中新建本地仓库并将项目提交到本地仓库,以达成使用git在本地仓库管理源代码;
- 将本地仓库与远程仓库关联。
- 将远程仓库克隆到本地。
参考资料:
使用Eclipse Egit与码云管理你的代码中的3 从码云将项目clone到你的电脑。
1. PTA及使用jar文件
目标
- 学会使用Eclipse或IDEA快速生成类.
- 学会导出jar文件,并在其它项目引用jar文件.
- 学会在PTA提交包含多个类文件的代码.
- 学会编写Javadoc、导出Javadoc.
- 学会提交程序填空题。
1.1 PTA题集-编程题-构造方法与toString
- 新建
edu.jmu.javalearn.oo
包。 - 定义Person类、无参构造方法、getter\setter,定义Main类,创建Person、输出Person。
- 为Person添加toString方法,学会使用
String.format
方法。 - 为Person添加有参构造方法。
- 尝试提交到PTA:将两个类文件合为一个文件提交。1.Main类声明为public。2.Person类去掉public。3.去掉包名。。提交成功后现场考核。
- 使用Eclipse自动生成(Alt+Shift+s)构造方法、setter/getter、toString,重写前面的代码。
- IDEA的对应的自动生成快捷键为Alt+Insert。
注1:类的属性名必须按照题目中出现的顺序定义。
注2:使用toString
方法输出对象。
1.2 使用jar文件(调用外部jar包)
需求:test项目需要使用到edu.jmu.javalearn.oo.Person
这个类,然而这个类是以第三方jar包的形式提供。现需要在test项目中导入这个jar包,然后才能使用。
实验步骤
- 创建PersonPrj项目,然后创建相应的包与Person.java。
- 右键点击PersonPrj项目,导出PersonPrj.jar文件。(Export-Jar)
- 在test项目中创建Folder,名为lib。并将PersonPrj.jar拷贝到该目录。
- 在test项目中将PersonPrj.jar文件加入build path。
- 给jar包中的Person类的构造方法与其它方法编写符合规范的注释(Javadoc)。如何在本项目中快速看到这些规范注释?如何在引用该jar包的地方,查看其注释说明与源代码?(需要关联源代码)
试验中需注意的要点
- 创建项目的时候,暂时不要使用模块系统,要选择Don't Create module-info.java。
- 导出jar文件:右键点击项目-Export-Java-JAR file-输入导出路径与jar文件名
- 尝试将jar文件解压,查看里面内容。实际上jar文件就是一个压缩文件。
- 在项目中添加jar:右键点击项目-Build Path-Configure Build Path-点击Libraries标签页-点击Add JARs,然后选择对应项目中相应的jar文件。
注意:Java 9及以上增加了模块系统,操作有点不一样。点击完Libraries标签页,会有关于模块的选项,这时请点选Classpath,然后再Add Jars。
思考与实践:
- 如果Person类未声明为public,另外一个项目中能使用该Person类吗?
- 如果jar文件中包含声明为public的Main类,类中包含一些public方法,比如
public String toString()
方法。如何调用jar包中Main类的这些public方法。 - 如果当前类是Main类,想调用jar文件中的Main类,要怎么调用?
参考资料:
实验视频-如何导入第三方jar文件(简易版).zip
Eclipse打Jar包(详细版).zip
Eclipse下导入外部jar包的3种方式中的3.快速版的操作方式:文件夹导入式
IDEA导入导出JAR文件的几篇文章
1.3 题集-编程题-构造方法与初始化块
演示:初始化块与静态初始化块的不同。
思考:
- 该题中,为什么要声明static属性?
- 初始化块什么时候执行?与构造方法相比,谁先执行?如果有一块代码,每次新建对象的时候都要执行,且该类有多个构造方法。那么这块代码应该放在哪里?
- 静态初始化块什么时候执行?试一试:在Person类中的main方法中,什么代码都不要写,然后执行该类,会发现什么?
1.4 程序填空
this, toString
1.5 编程题
- 形状(简单)。
- 体会不使用多态的问题。
- 覆盖。
- 1.要善于使用ArrayList的contains来判断列表中是否存在某些元素。
- 2.Objects工具类。该类包含很多操作Object的工具方法(比较、相等性测试、判空等)。建议查询JDK文档自行学习。
- 形状-继承。讲解抽象类、多态,重要!!。
- 1.未声明为public的PI变量只能在哪里访问?
- 2.如何调用static方法?建议使用"类名.方法名"的方式调用。
注1:学会使用Eclipse的自动生成功能生成toString方法。抽象方法亦可通过quick fix
自动生成。
注2:处理输入时,尽量不要将nextInt
与nextLine
混用。如果要混用,请注意处理行尾的回车换行(可用nextLine()
处理)。
其他参考资料:
1.6 函数题
- 覆盖与toString(简单)。怎么调用父类构造方法?
- Object类型数组。因复用了系统中已有的
Computer
类,自己编写时可能出现无法解析该类。如果确认其他代码没错,直接提交即可。 - (选)覆盖与equals
- (选)clone。较难。
Eclipse的使用
- 运行:
Ctrl+F11
- quick fix:
Ctrl+1
- 快速导入相应的包: 快捷键
Ctrl+Shift+o
,以Scanner为例 - 源代码相关快捷菜单:
Alt+Shift+s
,包含若干自动生成功能 - 显示类中方法和属性
Ctrl+o
, 注释Ctrl+/
, 删除整行Ctrl+d
, 窗口最大化和还原Ctrl+m
- 其他:
Ctrl+c
复制,Ctrl+v
粘贴,Ctrl+x
剪切,Ctrl+z
undo - 快速格式化代码:
Ctrl+Shift+f
,或者在菜单选择Source-Format
其他问题:
某个文件乱码: 右键单击文件,设置每个文件的编码,设成UTF-8
或者GBK
参考资料: