201621123058《java程序设计》第三周学习总结

1.本周学习总结

2.书面做业

2.1 以面向对象方式改造数据结构做业'有理数'(重点)

git地址java

2.2 构造函数与初始化块

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

构造函数是针对对象来讲的,有了构造函数更容易分配内存,有时候当你须要传递参数但函数中时能够更加方便。修饰符+类型+函数名+形参;

2.2.2 若是一个类不写构造函数,它有构造函数吗?若是一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?

当一个类中没有写构造函数时,系统会默认有一个无参函数。但当类中存在有参函数时就不须要无参构造函数了。

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



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

初始化块:对象的初始化。只要创建对象该部分就会被执行,且优先于构造函数。

              构造函数:对应对象的初始化,在建立对象时,选择与之对应的初始化对象。

              静态初始化块:对类的初始化,加载时所属的类会被加载并执行,可是只有一次。

              三者执行顺序:静态初始化块>初始化块>构造函数                                                                       >来自360问答

2.3 代码分析:Math类

2.3.1 使用java.lang.Math类的方法时,为何不须要new出一个Math对象,而后调用该对象上相应的方法?

由于`java.lang.Math`是静态函数,是系统中已经存在的无需从新new一个新的函数,若是要调用Math类直接在代码前加入`java.lang.Math`,而后用math.函数名便可。

2.3.2 若是new Math()会产生什么错误?尝试阅读Math类源代码,分析缘由。

若是程序中出现new Math()程序运行后会提示:The constructor Math() is not visible;


从这段代码中能够看出Math类前面的修饰符为private(私有),已经存在的构造函数无需从新构造。

2.3.3 进一步:你以为什么样的对象须要new出来才能用,调用什么方法时没必要建立相应对象就可使用?(重点检查)

这种状况下就是要看构造函数时的修饰符是什么,若是是静态类(static类)的话,就不须要去new一个新的对象;若是不是那就能够去new一个新的对象。

2.4 重载Overload

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

重载即函数名相同,变量以及变量类型相同;构造函数重载即在同一个类中能够同时构造多个函数,任意一个函数都有本身的变量;

               如何区分两个重载方法:根据重载中参数的类型便可区分两种重载。

2.4.2 在java.lang.Math类中举出1个方法重载的例子?

以下图所示:git


2.5 代码阅读: final

2.5.1 final修饰的变量不能改变,为何以下代码却可正常运行?

`final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;`

            final修饰的变量以后不能再指向其余对象,可是其内部的值是能够改变的。

2.6 Java8中的时间日期类:编写函数public static boolean isMondayToFriday()

2.7 封装

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

封装是指将实现细节同接口分离开,尽可能实现对外部隐藏;

                 封装优势:能够提升程序的稳定性,下降被破坏的机率,减小程序之间的依赖性,能够忽略具体的实现细节。>以上问答来自360问答

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

与封装有关的关键字: public 、protected、private、set()、get() 。

2.8 结对编程实践(未完成,0分)

结对对象:林裕恒

                 感觉体会:通常题目都是本身一我的在宿舍敲的,平时偶尔碰到问题也就一我的在那里一直想,但是老师的这个结对编程的方法仍是解决了个人一些问题,

                 毕竟两我的有两个大脑在思考, 样碰到问题仍是可以比较快的讨论出来,比一我的好多了。感受有些知识相互间还能互补,互相学习。

3.码云及PTA

3.1 码云代码提交记录

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

3.2 截图PTA题集完成状况图



3.3 统计本周完成的代码量

周次 总代码量 新增代码量 总文件数 新增文件数
1 0 0 0 0
2 0 0 0 0
3 556 556 8 8
相关文章
相关标签/搜索