---恢复内容开始---

1. 本周学习总结

201521123053《Java程序设计》第3周学习总结-LMLPHP

2. 书面作业

1. 代码阅读

201521123053《Java程序设计》第3周学习总结-LMLPHP

以上代码可否编译通过?哪里会出错?为什么?尝试改正?
        如果创建3个Test1对象,有内存中有几个i,几个j?请分析原因?

大: 不可通过;201521123053《Java程序设计》第3周学习总结-LMLPHP出错的地方201521123053《Java程序设计》第3周学习总结-LMLPHP因为静态 方法geti不能直接调用非静态的变量i;

由于201521123053《Java程序设计》第3周学习总结-LMLPHP,所以应该改成

201521123053《Java程序设计》第3周学习总结-LMLPHP

如果创建3个Test1对象,内存中有三个i,一个j ,因为static会设置一个内存空间来存储j变量,而非static会设置三个内存来存储三次的i变量

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

答:对类进行初始化操作,如初始化类的属性值;

格式     public 类名 (){

、、、、

}//也可用private构造函数,但在类外部无法被调用

如果不写任何构造函数,则Java会自动调用默认构造函数

201521123053《Java程序设计》第3周学习总结-LMLPHP

若无定义,系统默认有一个无参构造方法

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

答 : 因为math类函数的所有变量都是static的,且定义了private,只能够内部调用,math函数本身已有许多方法,可以直接调用。

如果直接调用会201521123053《Java程序设计》第3周学习总结-LMLPHP201521123053《Java程序设计》第3周学习总结-LMLPHP,出现这种错误是因为编写错了,

只要把鼠标放到Scanner上面会出现一个对话框,下面有提示让你导入Scanner 点击就可以,点击后会在第一行显示增加一行代码:import java.util.Scanner;

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

答:重载就是方法名相同,参数(个数或类型)不同,构造函数重载就是可以写多个构造函数,可以从一个构造函数调用另一个构造函数;

例子201521123053《Java程序设计》第3周学习总结-LMLPHP区分:可以根据函数的参数和返回值来区分。

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

201521123053《Java程序设计》第3周学习总结-LMLPHP

答: 因为final修饰引用类型变量,变量的值(引用)不能修改。 但是变量指向的对象的值可以修改。

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

201521123053《Java程序设计》第3周学习总结-LMLPHP

答: 6.1因为设置private属性,只能由内部进行操作,这样外部的人就不能随意更改数据,只有管理者需要的时候能改变,满足管理者单方面的需要。

6.2 201521123053《Java程序设计》第3周学习总结-LMLPHP

6.3201521123053《Java程序设计》第3周学习总结-LMLPHP

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

判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。

           提示:使用LocalDateTime, DayOfWeek

           参考资料:

           JAVA 8:健壮、易用的时间-日期API - ImportNew.pdf

           Java8DateTimeTest.java

                :代码:

                        public static boolean isMondayToFriday()

                        {

                           LocalDate date = LocalDate.now();

                           DayOfWeek week = date.getDayOfWeek();

if(week >=1&&week<=5)

{    system.out.println("上班时间");

return ture;}

                             else{

                                        system.out.println("休息时间"); 

                                         return false}    

                           }                        

---恢复内容结束---

05-08 08:33