本周学习总结

初学面向对象,会学习到很多碎片化的概念与知识。尝试学会使用思维导图将这些碎片化的概念、知识组织起来。请使用纸笔或者下面的工具画出本周学习到的知识点。截图或者拍照上传。

书面作业

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)会出错,因为它不是一个静态的对象。public static void geti()改为public void geti()

内存中有三个i,一个j,因为静态对象每个类只有一个储存空间.

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

答:1.构造函数可以对类进行初始化操作,如果没有指定初始值,则会使用默认值初始化。

2·构造函数名称与类名相同且无返回类型,可以有参也可以无参。

3·有,编译程序会自动加入一个无参数、内容为空的构造函数。

4·没有,因为如果自行撰写了构造函数,编译程序就不会自动建立默认构造函数了,所以它没有不带参数的默认构造函数。

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

答:1·Math是final类,不是static类。且构造函数被声明为privata,说明不能被外部调用,所以不能new出来一个新的对象。

2·若使用new Math(),会出现“The constructor is not visible”的错误提示。

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

答:1·重载是指在类中可以创建多个同名,不同参数或不同返回值的方法。

2·构造函数重载是指可以定义多个构造函数,只要参数类型或个数不同就行了。

3·区分两个重载函数可根据函数的返回值或参数类型。

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

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

答:虽然final修饰的变量不能改变,但是变量指向的对象的值可以修改。final 限定的是NUMBS这个对象。这个对象不能再被修改指向新的对象。但它所指向的对象(NUBMS[2])本身是可以修改的。

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

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

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

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

答:1·因为private只允许类内部访问无法外部访问,雇员信息都是内部资料,如此设计就可以保护雇员信息外泄。

2·```

public Employee(){

this("雇员1",3000.0,2015,3,5);

}

        3·```
public Employee(String n, double s, LocalDate hireDay)
{
name = n;
salary = s;
hireDay = LocalDate.now();
}

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

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

提示:使用LocalDateTime, DayOfWeek

参考资料:

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

Java8DateTimeTest.java

答:```

public static boolean isMondayToFriday()

{

LocalDateTime now = LocalDateTime.now();

DayOfWeek dayOfWeek = now.getDayOfWeek();

System.out.println(dayOfWeek);

if(dayOfWeek!=DayOfWeek.SATURDAY && dayOfWeek!=DayOfWeek.SUNDAY)

return true;

return false;

}

if(isMondayToFriday())

System.out.println("上班时间");

else

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

#码云代码提交记录
![](http://images2015.cnblogs.com/blog/1109855/201703/1109855-20170311194614264-482799639.png) #实验总结
1.Shift+Alt+S,Generate toString()自动补全toString;Generate Getter and Setters,自动添加。
2.String.format方法的使用,用于连接多个字符串对象。

201521123020 《Java程序设计》第3周学习总结的更多相关文章

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  9. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. 喂,前端,你应该知道的chrome插件

    最近,优点闲. 压力,有点大,回顾,曾今被问,你怎么查看内存泄露,然后,一脸蒙. 工欲善其事, 必先利其器 最近在研究chrome devtools,发现,其实他很强.而且chrome6周一次的更新, ...

  2. javascript的词法作用域

    这个概念是js中相当基础也是极为重要的,很多想当然的错误或感觉怪异的问题都是和这个东西有关.所以,本文主要说下这个名词的概念以及讨论下他牵扯出来的有关变量.函数.闭包的问题. 由变量开始谈 习惯性先来 ...

  3. Kotlin 初窥门径[1]:基础概念

    Kotlin 是由 JetBrains 开发的基于JVM的语言.JetBrains 因为创造了一个强大的Java开发 IDE(Intellij) 而被大家所熟知.Android Studio 就是基于 ...

  4. vue如何封装自己需要的方法

    因为现在vue的流行,vue的各种插件都出来了,我们公司也是使用vue做项目,我自己在做项目的时候自己去琢磨了其他的插件以及结合自己对vue和es2015的理解,自己找的了一种在vue中使用封装方法的 ...

  5. 【javascript】函数中的this的四种绑定形式

    目录 this的默认绑定 this的隐式绑定 隐式绑定下,作为对象属性的函数,对于对象来说是独立的 在一串对象属性链中,this绑定的是最内层的对象 this的显式绑定:(call和bind方法) n ...

  6. 【Ubuntu 16】启动Eclipse Indigo报错 error code1 jdk没有配置好

    在/etc/profile下配置好JAVA_HOME CLASSPATH PATH 这些变量后 eclipse启动jvm并不能直接按照这些变量来启动 需要使用命令 update-alternative ...

  7. C语言 进程控制---创建进程fork()函数

    #include "sys/types.h" #include "stdio.h" #include "stdlib.h" #include ...

  8. 利用CoreAnimation实现一个时间的进度条

    (个人原创,转载请注明出处 http://www.cnblogs.com/pretty-guy/p/7460334.html) 在iOS中实现进度条通常都是通过不停的设置progress来完成的,这样 ...

  9. macaca 测试web(2)

    还是以博客园登录为例, 可以查看上一篇上一篇 这次只测试登录,使用ddt的数据驱动,这里我博客也有记录 地址 其实我在uiautomator +python 实现安卓自动化 一文当中我已经使用过ddt ...

  10. jmeter+ant+jenkins 搭建接口自动化测试

    一.jmeter  我用的jmeter3.2   jmeter要运行,必须本地有java环境,所以需要配置jdk什么的,自行配置 二.ant 安装ant 第一步:下载ant  http://ant.a ...