1.1写出你认为本周学习中比较重要的知识点关键词,如类、对象、封装等。
关键词:类、方法、属性、对象、多态、继承、封装、面向对象。
1.2 用思惟导图或者Onenote或其余工具将这些关键词组织起来。
java
1 截图你主要代码(须要在程序中出现你的学号和姓名)并粘贴程序的git地址。
2 对比你的代码与历程的代码,说明面向对象编程与面向过程编程有何区别?
面向对象编程是抽象的,主要用到类,是一个封闭的环境而面向过程的编程更加注重于如何使用函数去实现既定的功能。git
1 结合PTA 5(构造函数与toString)说明构造函数有什么用?其函数格式有何特征?
构造函数能够用来在建立对象时对其属性作一些初始化的操做。 函数特征有:构造函数的特征,构造函数名称与类名相同 以及无返回类型。无参数构造函数时,直接输出题目要求的内容,有参构造时,要用到this关键字。
2 若是一个类不写构造函数,它有构造函数吗?若是一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?
有构造函数,编译器会默认的生成构造函数。没有。若是建立了有参数的构造函数,编译器就没法默认生成构造函数。
3 查看String类的源代码,找出3个看得懂的String类的构造函数,并使用本身的话描述这3个构造函数的区别。编程
System.out.println("abc");
String cde = "cde";
System.out.println("abc" + cde);
String c = "abc".substring(2,3);
String d = cde.substring(1, 2);>这之中所含的参数不一样。
4 结合PTA(构造函数与初始化块)说明初始化块与构造函数的异同。并说明,初始化块与构造函数谁先执行?初始化块与静态初始化块有何不一样,谁先执行?
相同点:二者都是给对象初始化。不一样点:两个范围不一样,初始化块的做用是给全部对象初始化,而构造函数的做用是给对应函数初始化。初始化块先执行。
静态初始化只执行一次,而初始化块有几个new就执行几回,并且在初始化加载时还有执行一次,静态初始化先执行。>安全
1 使用 java.lang.Math类的方法时,为何不须要new出一个Math对象,而后调用该对象上相应的方法?数据结构
由于Math中的成员变量和方法都是静态的不须要新建Math对象。>
2 若是new Math()会产生什么错误?尝试阅读Math类源代码,分析缘由.
The constructor Math() is not visible>由于是由private
构造函数,因此不能被外部调用,所以不能用new来产生新对象。
**3 进一步:你以为什么样的对象须要new出来才能用,调用什么方法时没必要建立相应对象就可使用?(重点检查)
须要配一个存储空间保存引用时须要 new来引用,基本数据类型不须要new而直接定义函数
1 什么是重载?什么是构造函数重载?怎么才能区分两个重载的方法?工具
重载:方法名相同但参数名不相同
构造函数重载:能够定义多个构造函数,可是参数类型不能相同。
区分:从方法的参数的数量、顺序以及它的类型来区分>学习
1.final修饰的变量不能改变,为何以下代码却可正常运行?
<final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;<
由于用关键字 final 修饰引用类型。这个对象没法被修改。但它所指的对象是能够修改的。this
1 结合PTA(形状),请用本身的话简单总结一下面向对象中封装是什么意思?有何好处?
客观事物封装成抽象的类,对一些不可信的进行信息隐藏。
好处:1.能够提升数据的安全性。
2.能够自由的调用。
2 和封装有关的关键字有哪些?
public ,private,this.code
我结对编程的是舍友翁明强,我和他编程水平相差不大,咱们讨论的是第一题jmu-Java-03面向对象基础-01-构造函数与toString我和他思路差很少不过运行起来能够,之间都有互相讨论,才得以完成。
3.2 截图PTA题集完成状况图
3.3 统计本周完成的代码量
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
3 | 220 | 220 | 11 | 11 |