1. 本周学习总结

2. 书面作业

1.代码阅读

    public class Test1 {private int i = 1;//这行不能修改private static int j = 2;public static void main(String[] args) {geti();Test1getj();}public static void geti() {System.out.println(i);}public static void getj() {System.out.println(j);}}

以上代码可否编译通过?哪里会出错?为什么?尝试改正?如果创建3个Test1对象,有内存中有几个i,几个j?
答:以上代码编译不能通过。编译时在 System.out.println(i)处出错,因为静态方法不能调用一个非静态成员。如果改正的话需要在这个静态中创建一个自身的对象。 如果创建3个Test1对象,在内存中有3个i,1个j。

2.构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?

  答:构造函数的作用是对类进行初始化操作,如初始化类的属性值。如果一个类不写构造函数它也会有构造函数,因为编译器会自动生成一个默认为空的构造函数。如果一个类中只有带参的构造函数,他没有不带参数的默认结构函数了,为了确保准确性,系统不会创建无参构造函数,这时候,如果还想允许无参构造,就必须显式的声明一个。格式为```public void test(String a){另一些需要的代码}```

3.使用java.lang.Math类的函数时,为什么不需要new?如果new Math()会产生什么错误?

  答:由于构造函数被声明为私有的,就是说明不能被外部调用,所以static修饰的都可以直接用类名去调用。如果强行使用new Math()则会系统报错,编译不成功。

4.什么是重载?什么是构造函数重载?在java.lang.Math类中举出函数重载的例子?怎么才能区分两个重载函数?

java.lang.Math的源代码如下

  答:重载就是方法名相同,参数(个数或类型)不同(称之为签名不同);构造函数的重载是从一个构造函数中调用另一个构造函数;可以通过不同的参数区分重载函数,因为不仅参数类型有的差异,而且参数顺序也会不同。如果利用函数返回值来区分时,是不能分别出来的,因为编译器分辨不出该调用哪个函数,所以利用函数返回值不能分辨两个重载函数。

5.final修饰的变量不能改变,为什么如下代码可以正常运行?

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

  答:final是修饰引用类型变量的,final修饰的变量不能改变其值,但对于引用对象的值可以改变 。

6.阅读代码EmployeeTest.java,回答:

1.为什么其属性均为private?这样设计有什么好处?

2.为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)

3.为Employee类再增加一个有参构造函数,参数只有name与salary,hideDay为当前日期。(粘贴代码)

解答:
1.属性均为private这样的好处是用户不能够随意操作类的成员变量,或者用户可以通过自己所指定的方法来操作类成员变量。
2.代码如下public Employee(String name, folat salary, int year, int month, int day) { GregorianCalendar calendar1 = new GregorianCalendar(year, month, day);hireDay = calendar.getTime();}public Employee() {this("雇员1", 3000.0, 2017, 3, 5);}3.代码如下public Employee(String name, double salary , Date hireday){getName();getSalary();getHireDay();}

7.编写函数public static boolean isMondayToFriday()

功能:判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。
提示:使用LocalDateTime, DayOfWeek
参考资料:
JAVA 8:健壮、易用的时间-日期API - ImportNew.pdf
Java8DateTimeTest.java

  代码如下public static boolean isMondayToFriday() {LocalDateTime localDateTime = LocalDateTime.now();int day = localDateTime.getDayOfWeek().getValue();if (day >= 1 && day <= 5) {return true;}return false;       }

3. 码云代码提交记录

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

4. PTA实验

.题目集:jmu-Java-03-面向对象1-基础-封装继承 中的编程(5-1, 5-2, 5-3)
.一定要有实验总结

  实验总结(1).实验课上老师教我们在在eclipse里面自动生成toStrig的方法,这可以快速的写成toString函数而且可以有效的减少我们的犯错。(2).在eclipse里面写的Main函数是与PTA里面的要求不一定一样,在eclipse里面编写时尽量用Main不用Main1~~~等等,因为在PTA里面只要Main能编译成功,一般我们在eclipse里面编写完成时我们都会忘记改Main函数的Main,所以为了加快效率我们尽量一开始就用Main。(3).setter/getter,设置器和访问器。我们之前说到了,通常将成员变量声明为private,是为了防止直接访问成员变量而引起的恶意操作。但是,这并不是不允许访问,我们可以通过setter和getter方法来完成。Eclipse可以自动生成getter和setter方法,在左上角Source菜单栏里(4).通过实验我们了解到了toString和deepToString的区别,即Array.toString方法当接受的数组中还有数组时打印出的仅是该内嵌数组的名字,Array.deepToString方法会将内嵌数组的内容也打印出来,不管数组内嵌多少层,都会循环递归到最内层的数据.另外,当数组中的数组有死循环般的引用时,也有相应的保护机制防止死循环 ;deepToString方法主要用于多位数组 而toSring不能用在多维数组中(5).PTA答案的格式比较单一,系统只默认了一种对的输出格式,所以在我第一次实验写好时,而且输出答案都是正确的,但在PTA里面提交了挺多次都不成功,直到我问了同学才知道只要有一个空格不符合格式要求就会不成功,并在同学的帮组下成功提交了实验。所以在eclipse里面执行输出时一定要按照格式要求输出。(6).写实验之前先把实验构思好,大概写出伪代码,不然边想编写时容易出错也容易出现暂时没思路。

转载于:https://www.cnblogs.com/wen1234/p/6522976.html

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

  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. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

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

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

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

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

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

  9. 20165203 2017-2018-2 《Java程序设计》第一周学习总结

    20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...

  10. 20175221 2018-2019-2 《Java程序设计》第一周学习总结

    20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...

最新文章

  1. 【POCO】POCO学习总结(二)——配置选择
  2. 神奇的输入 while(cin....)如何在遇见换行之后进入下一层循环读入
  3. android绘制高亮区域,实现高亮某行的RecyclerView效果
  4. Envoy Proxy构建控制平面指南
  5. 【Blog.Core开源】将Program升级为.NET6.0版本
  6. C语言中负数补码的方法,c语言里求负数补码的总结不足与优点.docx
  7. RTUILabel+正则表达式
  8. 安装docker-machine
  9. mysql异机还原_MySQL innobackupex全量备份恢复
  10. PowerCMD——cmd的命令行工具
  11. 【转】伪O2O已死?2016年实体零售将迎来真正的O2O
  12. 在Win32中管理虚拟内存——举例
  13. 安川机器人梯形图指令(一)
  14. xshell6和xftp6的安装
  15. python数据分析 活用pandas库_Python数据分析:活用Pandas库
  16. 几何基础 笛沙格定理
  17. 结构体的定义以及使用
  18. 使用Opencv+VS2015做数字图像识别
  19. IT企业正重夺云计算市场主导权:你大爷还是你大爷
  20. 归并排序(Python)

热门文章

  1. ppt 宏文件 自动保存_让Excel表格自动排序,牛了!
  2. 【Java】Hello world
  3. openmeetings2.0安装和开发
  4. Chrome网页性能分析工具
  5. 能源行业将被重构,大数据有哪些“挖”法?
  6. js 正则表达式匹配定义及使用
  7. 打字机游戏Ⅱ之手速pk
  8. MR求两个用户的共同粉丝列表
  9. 最近面试有感,不要耍小聪明,面试官都是开了上帝视角的
  10. 数据--第53课 - 扩展学习