201521123103 《Java程序设计》第三周学习总结
一、本周学习总结

二、书面作业
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);
}
}
1.1、以上代码可否编译通过?哪里会出错?为什么?尝试改正?
答:以上代码不会通过。


Test1getj()出错了,因为private static int j = 2;j属于静态变量(类变量),不属于任何独立的对象,static方法不能访问非static属性与方法。可以改正Test1getj()的调用方法,也可以在此静态方法里创建新的对象。

1.2、如果创建3个Test1对象,有内存中有几个i,几个j?
答:内存中会有3个i,1个j。
2、构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?
答:构造函数可以对类进行初始化操作,如果没有指定初始值,则会使用默认值初始化。格式:构造函数名称与类名相同且无返回类型,可以有参也可以无参。有,编译程序会自动加入一个无参数、内容为空的构造函数。没有,因为如果自行撰写了构造函数,编译程序就不会自动建立默认构造函数了,所以它没有不带参数的默认构造函数。
3、使用java.lang.Math类的函数时,为什么不需要new?如果new Math()会产生什么错误?
答:因为Math类是final类,其没有什么每个对象各异的内部状态。Math类的所有方法都是静态的,所有方法都是静态方法。Math对象不是构造函数,所以不能生成实例。如果new Math()会产生编译错误。
4、什么是重载?什么是构造函数重载?在java.lang.Math类中举出函数重载的例子?怎么才能区分两个重载函数?
答:重载是在一个类定义中,可以编写几个同名的方法,但是它们的签名参数列表不同,也就是说一个类中方法同但参数表不同。百科的官方说法:重载是可使函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法。
构造函数重载是指可以定义多个构造函数,只要参数类型或个数不同就行了。


通过方法的参数的数量、类型和顺序。不知道怎么用参数的顺序区分,求解释。
5、final修饰的变量不能改变,为什么如下代码可以正常运行?
final int[] NUMBS= {1,2,3,4,5};
NUMBS[2] = 1;
答:虽然final修饰的变量不能改变,但是变量指向的对象的值可以修改。
6、阅读代码EmployeeTest.java,回答:
6.1、为什么其属性均为private?这样设计有什么好处?
答:Private是表示它是非公开类,其他包中的类不可以直接调用,这样设计增强了安全性和保密性。
6.2、为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)

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

7、编写函数public static boolean isMondayToFriday()功能:判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。提示:使用LocalDateTime, DayOfWeek

三、码云代码提交记录

四、PTA实验
完成了实验的1、3题。
实验总结:
1、实验课收获很多,首先学会了如何定义一个类,这个在实验中都有体现,如:定义一个有关人的Person类、长方形类Rectangle与圆形类Circle。其次学会使用使用Eclipse自动生成toString函数以及对每个属性生成setter/getter方法。
2、学会如何编写有参和无参的构造函数。
3、实验二遇到的问题是对id编写静态初始化块时,id并没有递增一直为零。解决办法:使用static的静态变量。
4、实验四学会使用Arrays.deepToString分别输出上面建立的Rectangle数组与Circle数组。
5、构造函数、初始化块、静态初始化块。这三种方法执行的先后顺序是什么? 先初始化静态数据,后初始化非静态数据,而静态初始化只有在必要时才进行。静态数据的初始化一般在定义时进行,或者放在初始化块中进行,不会放在构造函数中。(此结论来自百度)
201521123103 《Java程序设计》第三周学习总结的更多相关文章
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
随机推荐
- 在WebGL场景中使用2DA*寻路
这篇文章将讨论如何在一个自定义的地面网格上进行简单的2D寻路,以及确定路径后如何使用基于物理引擎的运动方式使物体沿路径到达目标地点.读者需要预先对WebGL和Babylonjs知识有一些了解,可以 ...
- Redis sentinel 哨兵模式集群方案配置
第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2) ...
- Pycharm快捷键的使用
1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + ...
- [attribute|=value]和[attribute^=value]选择器区别
1.[attribute|=value] [attribute|=value]选择器说明:http://www.w3school.com.cn/cssref/selector_attribute_va ...
- 解析Linux中的VFS文件系统之文件系统的来源与简介(一)
最近挂载了N多的文件系统,大致了不同文件系统的相应特性及挂载方式,却还是对Linux的文件系统没有从源码方面去了解.不求甚解确实不好不好. 于是借鉴一些大牛的博客及自己的理解,总结了博客系列: 一.V ...
- android_orm框架之greenDAO(二)
一.概述 在上次greenDao第一篇文章中,我们对greenDao的使用步骤和基本用法给大家做了介绍,文章链接:http://www.cnblogs.com/jerehedu/p/4304766.h ...
- 安卓APP测试容易忽略的地方
我们手机APP测试,主要针对的是android和ios两大主流操作系统,总体上来说android手机型号.版本多,bug也多:ios相对bug少.下面就针对Android说一下最容易忽略的测试点吧. ...
- node.js之事件机制
EventEmitter类 方法名与参数 描述 参数说明 addListener(event,listener) 对指定的事件绑定事件处理函数 参数一是事件名称,参数二是事件处理函数 on(event ...
- 初次搭建vue环境(最基础的)
一直以来觉得搭建环境是自己的短板,恰巧老大跟我说他刚才面试一个有4年工作经验的人,给那面试的人出了到机试题,给了1小时的时间连环境都没搭好.且不说那人的工作经验是否掺有水分,自己还是有点尴尬的,以前的 ...
- 关于php文件读取的一些学习记录
初学PHP的时候使用了一些文件读取API,但是没有真正弄清楚各API的区别以及差异,于是找了一篇学习了一下,贴在这里,引用自IBM社区的一篇文章, 整体整理测试如下 <?php /** * Cr ...