201621123072《Java程序设计》第3周学习总结

1.本周学习总结

1.1 写出你认为本周学习中比较重要的知识点关键词,如类、对象、封装等

  • 包与目录结构
  • Classpath类路径
  • 面向对象

1.2 用思维导图或者Onenote或其他工具将这些关键词组织起来。

2. 书面作业

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

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

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

2. 构造函数与初始化块

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

构造函数可以用于初始化某个值,或赋值给某个数,其格式大多为pubic+类等。

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

如果不写的话他是没有的;如果只有带参的构造函数那它就没有不带参数的结构函数。

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

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

3.代码分析:Math类

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

那个根据静态的定义,如果一个方法是静态的,它是属于整个类的,可以用类名.方法来直接访问,也就不用new出一个实例对象来进行访问了。

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

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

你要调用到该类 里的方法,进行一些操作,不如你想输出 类A中 show()方法 里的东西
你要实例化该类, 不如给类里的变量赋值
初始化(构造函数就是)也就是对该类进行赋值这些操作的。比如类B 面有个框,这个框就是变量。而你想要向框里放东西,这就初始化了(新手就这样理解吧)

4. 重载Overload

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

函数中几个方法的参数不同,但是使用同一个名字。

区分:必须满足三个条件:
1.方法名一定要相同。
2.方法的返回类型、修饰符可以相同,也可不同。
3.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体:
1)如果参数个数不同,就不管它的参数类型了!
2)如果参数个数相同,那么参数的类型或者参数的顺序必须不同。

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

subtract(BigInteger val)

5. 代码阅读: final

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

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

7. 封装

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

1.隔离性:
被封装后的对象(这里的对象是泛指代码的编程单元,一般指:程序集,命名空间,类,方法,属性,变量等)其外部对象是无法直接访问对象的内部实现细节,内部实现细节的的改动不会影响到外部对象的访问原则(即:对象内部修改后,在公开暴露指定的访问路径不变的情况下,外部访问它的对象是无需修改的),这是隔离性的体现,同时也是实现高内聚,低耦合的最根本的思想之一;
2.可复用性:
被封装后的对象可以被外部多个对象访问,而无需为每个外部对象去指定不同的服务对象;如:所有的对象的基类都是object类,object类里面的公共成员可以被其所有子类使用,Ado.Net相关的数据访问类及其公共成员均可被其它所有的对象使用等。
3.可读性:
被封装后的对象的名称(如:程序集名,类名,方法名)如果命名恰当,那么就能在不看里面的实现细节的前提下,了解该对象的作用;如:DataTable就是用来装表格数据的;ToString就是转换为字符串,Length就是指长度等。

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

virtual;interface;private

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

3. 码云及PTA

3.1. 码云代码提交记录

3.2 截图PTA题集完成情况图

1098118-20171001185223278-1501962741.png

3.3 统计本周完成的代码量

1098118-20171001185525465-272545668.png

转载于:https://www.cnblogs.com/chenxingyuan/p/7615549.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值