集美大学 计算机 郑如滨

教学博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

0. 在Eclipse中使用git(自行完成)

目标:

学会在Eclipse中使用Git。

内容:

  1. 配置Egit;
  2. 在Eclipse中新建本地仓库并将项目提交到本地仓库,以达成使用git在本地仓库管理源代码;
  3. 将本地仓库与远程仓库关联。
  4. 将远程仓库克隆到本地。

参考资料:

使用Eclipse Egit与码云管理你的代码中的3 从码云将项目clone到你的电脑

1. PTA及使用jar文件

目标

  1. 学会使用Eclipse或IDEA快速生成类.
  2. 学会导出jar文件,并在其它项目引用jar文件.
  3. 学会在PTA提交包含多个类文件的代码.
  4. 学会编写Javadoc、导出Javadoc.
  5. 学会提交程序填空题。

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包,然后才能使用。
实验步骤

  1. 创建PersonPrj项目,然后创建相应的包与Person.java。
  2. 右键点击PersonPrj项目,导出PersonPrj.jar文件。(Export-Jar)。两种导出方式:Runnable Jar与Jar。
  3. 在test项目中创建Folder,名为lib。并将PersonPrj.jar拷贝到该目录。
  4. 在test项目中将PersonPrj.jar文件加入build path
  5. 给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

思考与实践:

  1. 如果Person类未声明为public,另外一个项目中能使用该Person类吗?
  2. 如果jar文件中包含声明为public的Main类,类中包含一些public方法,比如public String toString()方法。如何调用jar包中Main类的这些public方法。
  3. 如果当前类是Main类,想调用jar文件中的Main类,要怎么调用?

参考资料:

实验视频-如何导入第三方jar文件(简易版).zip
Eclipse打Jar包(详细版).zip
Eclipse下导入外部jar包的3种方式中的3.快速版的操作方式:文件夹导入式
IDEA导入导出JAR文件的几篇文章

1.3 题集-编程题-构造方法与初始化块

演示:初始化块与静态初始化块的不同。

思考:

  1. 该题中,为什么要声明static属性?
  2. 初始化块什么时候执行?与构造方法相比,谁先执行?如果有一块代码,每次新建对象的时候都要执行,且该类有多个构造方法。那么这块代码应该放在哪里?
  3. 静态初始化块什么时候执行?试一试:在Person类中的main方法中,什么代码都不要写,然后执行该类,会发现什么?

1.4 程序填空

this, toString


1.5 编程题

  1. 形状(简单)。
    • 体会不使用多态的问题。
  2. 覆盖。
    • 1.要善于使用ArrayList的contains来判断列表中是否存在某些元素。
    • 2.Objects工具类。该类包含很多操作Object的工具方法(比较、相等性测试、判空等)。建议查询JDK文档自行学习。
  3. 形状-继承。讲解抽象类、多态,重要!!
    • 1.未声明为public的PI变量只能在哪里访问?
    • 2.如何调用static方法?建议使用"类名.方法名"的方式调用。

注1:学会使用Eclipse的自动生成功能生成toString方法。抽象方法亦可通过quick fix自动生成。
注2:处理输入时,尽量不要将nextIntnextLine混用。如果要混用,请注意处理行尾的回车换行(可用nextLine()处理)。

其他参考资料:

Java第03次实验(类与对象)文件.zip
Java第04次实验(继承与多态)文件.zip

1.6 函数题

  1. 覆盖与toString(简单)。怎么调用父类构造方法?
  2. Object类型数组。因复用了系统中已有的Computer类,自己编写时可能出现无法解析该类。如果确认其他代码没错,直接提交即可。
  3. (选)覆盖与equals
  4. (选)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
参考资料:

Eclipse简明教程(by zhrb).zip
Eclipse视频(操作视频).zip

下次实验

第04次实验:继承、多态,抽象类与接口

posted on 2017-03-07 23:32  zhrb  阅读(2146)  评论(5编辑  收藏  举报