1. 本周学习总结

1.初学面向对象,会学习到很多碎片化的概念与知识。尝试学会使用思维导图将这些碎片化的概念、知识点组织起来。请使用工具画出本周学习到的知识点及知识点之间的联系。步骤如下:

1.1 写出你认为本周学习中比较重要的知识点关键词,如类、对象、封装等
1.2 用思维导图或者Onenote或其他工具将这些关键词组织起来。

2. 书面作业

1.以面向对象方式改造数据结构作业'有理数'(重点)注意:属性必须修饰为为private

1.1 截图你主要代码(需要在程序中出现你的学号和姓名)并粘贴程序的git地址。

1.2 对比你的代码与历程的代码,说明面向对象编程与面向过程编程有何区别?

把一个事件分割成多个片段然构建很多函来解决是面向过程编程;一个事件就是一个对象,然后把这个事情封装在一个对象里用多种方法解决这是面向对象编程

2. 构造函数与初始化块

2.1 结合PTA 5(构造函数与toString)说明构造函数有什么用?其函数格式有何特征?

构造函数的形式如下:

public Person()
{
System.out.println("This is constructor");
System.out.println(name+","+age+","+gender+","+id);

}
public Person(String name,int age,boolean gender)
{
this.name=name;
this.age=age;
this.gender =gender;
}

通过定义一个构造函数让我们在定义变量的时候可以对我们定义的类赋初值,如果没构造这个函数就直接用默认的构造函数对其赋初值

toString函数的形式如下:

public String toString(){return String.format("Person [name=%s, age=%d, gender=%s, id=%s]",name,age,gender,id );}

定义完以后,这个函数有助于我们对变量进行输出,若没定义则会使用父类或Object类中的toString函数。

2.2 如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?

会有构造函数,会自动生成一个没有参数的构造函数赋值给它,如果一个类中有带参的构造函数,它不会有不带参数的默认构造函数

2.3 查看String类的源代码,找出3个看得懂的String类的构造函数,并使用自己的话描述这3个构造函数的区别。

public String() 

这个String构造函数可以让value字符数组新建一个空字符串

public String(char value[])

这个String构造函数让字符串复制到char数组中

String(byte[] bytes)

这个String构造函数通过byte把字符串构造对象

2.4 结合PTA(构造函数与初始化块)说明初始化块与构造函数的异同。并说明,初始化块与构造函数谁先执行?初始化块与静态初始化块有何不同,谁先执行?

初始化对象都是通过初始化块和构造函数实现,构造函数只初始化内部的对象,初始化块是对全部对象进行初始化,只要一新建一个对象,初始化块就开始工作,所以执行顺序是初始化块 > 构造函数

静态初始化块也是新建一个对象就执行一次而且只有一次,静态初始化块优先执行

3.代码分析:Math类

3.1 使用java.lang.Math类的方法时,为什么不需要new出一个Math对象,然后调用该对象上相应的方法?

Math类的函数都是静态的,所以用户可以直接使用类名加方法名的方式调用Math中的方法,不需要用new创建对象

3.2 如果new Math()会产生什么错误?尝试阅读Math类源代码,分析原因。

产生‘The constructor Math() is not visible’的错误,意思就是构造函数 Math()是不可见的

3.3 进一步:你觉得什么样的对象需要new出来才能用,调用什么方法时不必创建相应对象就可以使用?(重点检查)

对象要通过new进行实例化,实例化以后才可以调用函数。调用static静态方法可以不要创建对象可以使用

4. 重载Overload

4.1 什么是重载?什么是构造函数重载?怎么才能区分两个重载的方法?

  • 重载即多个方法拥有相同的方法名但参数不同,可以是参数类型不同,参数个数不同,参数顺序不同。只有返回类型不同不能算是重载,下图为Math类max函数重载的例子,看其参数情况来区分。

4.2 在java.lang.Math类中举出1个方法重载的例子?
static double abs(double a)是重载的一个例子

5. 代码阅读: finalfinal修饰的变量不能改变,为什么如下代码却可正常运行?final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;

NUMBS这个数组对象被final修饰就是它的引用不能被修改,并不是这个引用所指向的一系列值不能被修改。还有如果NUMBS = null;就会报错

6. Java8中的时间日期类:编写函数public static boolean isMondayToFriday()功能:判断今天如果是周一到周五,返回true,返回false。main函数中调用该函数,如果为true则输出“工作日+姓名学号”,否则输出"休息+姓名学号"。

7. 封装

7.1 结合PTA(形状),请用自己的话简单总结一下面向对象中封装是什么意思?有何好处?

  • 将对象的数据方法放在同一个类里,在要进行操的时候,通过调用对象的方法完成操作,大大提高可读性

7.2 和封装有关的关键字有哪些?

  • private 私有的
  • default 默认的
  • protected 保卫的
  • public 公共的

8. 结对编程实践(未完成,0分)找一个水平相近的同学完成1-2题实验题。开始编程前,可先对内容进行讨论。写出体验报告,包括以下内容:1.对方姓名。2.所完成的题目。3.感想。4.照片(上次很多同学并未贴照片,请贴上)

对方姓名:马玉兰
题目:PTA的7-1 jmu-Java-03面向对象基础-01-构造函数与toString
感想:在实验课上老师给出了思路的思路,然后各自都有不同的想法,,结对编程让自己知道别人的思路和自己的有很大不同,有很多地方值得借鉴

3. 码云及PTA

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

3.2 截图PTA题集完成情况图需要有两张图(1. 排名图。2.PTA提交列表图)

3.3 统计本周完成的代码量

需要将每周的代码统计情况融合到一张表中,可使用最新版的代码统计工具的-history参数,详细用法见项目wiki地址。表格如下所示:

周次 总代码量 新增代码量 总文件数 新增文件数
2 330 330 5 5
3 652 322 11 6

转载于:https://www.cnblogs.com/jerkol/p/7616057.html

201621123030《Java程序设计》第3周学习总结相关推荐

  1. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  2. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  3. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  4. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  5. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  6. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  7. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  8. 20155226 2016-2017-2 《Java程序设计》第一周学习总结

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

  9. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  10. 张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结

    20162329 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 通过打书上的代码熟悉了Java编程的基本过程 教材学习中的问题和解决过程 1.因为我的虚拟机 ...

最新文章

  1. 修改属性使按钮处于无验证状态
  2. upstream--负载
  3. 【手写系列】透彻理解Spring事务设计思想之手写实现
  4. 一文看懂NumPy的切片中常用的冒号
  5. 工作中的小技巧(一)
  6. 洛谷3320 SDOI2015寻宝游戏(set+dfs序)(反向迭代器的注意事项!)
  7. exchange 2010 relay设定
  8. CIT 中文笔记完整版
  9. promise的链式调用
  10. bzoj 3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)
  11. halcon real类型深度图转灰度图、转点云图、拟合平面和测量高度
  12. Windows10邮件添加qq邮箱已过期问题
  13. xss(跨站脚本攻击)详解
  14. Java实现文件管理系统(附带源码)
  15. 嵌入式Linux资源网站,嵌入式Linux名词及资源
  16. RationalDMIS7.1自动测量圆+参考测量(汇总)
  17. css transtion不生效_CSS3 Transition属性使用详解
  18. kindeditor+粘贴word图片
  19. 电机控制系统使用标幺值的意义
  20. 函数笔记(常数函数、幂函数、指数函数、对数函数、三角函数、反三角函数、复合函数)

热门文章

  1. 在WSL上编译并运行全志XR806的完全体demo
  2. 将xlsx文件转换成CSV文件方法
  3. led照明灯哪个牌子的比较好?质量超好的LED护眼台灯推荐
  4. 乐高大颗粒作品14:导弹发射车
  5. tex插入excel图表_Excel:以编程方式插入图表。
  6. 传奇修改完怪物血量后服务器不变,传奇怪物的血量调整方法(图文)
  7. Weex 修改安卓生成apk默认的启动页面
  8. 回答朋友关于微信CRM系统如何使用的问题
  9. 【教学类-23-01】20221217《不会写学号的中班幼儿的学号描字贴》(中班描字)
  10. Android常用存储类型与简介