201521123004 《Java程序设计》第3周学习总结
1. 本周学习总结#
(1)①使用构造函数(constructor)
eg:Date now = new Date();
new Date(); //创建了一个Date对象
now是Date类型变量,存放Date对象的引用。
②创建对象后,可使用其方法
String s = new Date().toString();
③分三步,1.创建对象。2.调用该对象的toString()方法。3.把方法返回值赋予变量s.
(2)设计类
1.类的名称
2.类的属性
3.类的方法
(3)private与public
private只允许类内部进行访问,外部无法访问;
(4)setter与getter
(5)this代表对象本身的引用,可以简化代码;
2. 书面作业#
代码阅读
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);
}
}
以上代码可否编译通过?哪里会出错?为什么?尝试改正?###
答:不能通过;
出错:Test1getj();//代码中没有Test1getj();只有getj();
System.out.println(i);//i是Private,不能在外部引用;
改正:添加Test1 test=new Test1(),创建Test1对象;
geti()-->test.geti();
Test1getj();-->test.getj();
将j,geti()与getj()都改为非静态;
代码如下:
如果创建3个Test1对象,有内存中有几个i,几个j?请分析原因?###
答:如果以题目代码进行说明,则i是非静态而j是静态,所以创建三个Test1对象有三个i,而j只有一个;
如果以修改后的代码进行说明,则i和j都是非静态,所以创建三个Test1对象有三个i,三个j;
构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?###
答:构造函数的作用:对类进行初始化操作,如初始化类的属性值。
构造函数的编写格式:名字和类名相同,且没有返回类型语句。
一个类不写构造函数,会有构造函数:若无定义,系统默认有一个无参构造方法。
一个类中只有带参的构造函数,它没有不带参数的默认构造函数。
使用java.lang.Math类的函数时,为什么不需要new?如果new Math()会产生什么错误?分析原因?###
答:Math类的函数都是static的,不需要new;new Math()会提示构造函数不是现有的。
什么是重载?什么是构造函数重载?在java.lang.Math类中举出1个函数重载的例子?怎么才能区分两个重载函数?###
答:重载(overload):方法重名但参数不同,从一个构造函数调用另一个构造函数,必须用this关键字来调用。
max函数的调用;
final修饰的变量不能改变,为什么如下代码可以正常运行?###
final int[] NUMBS= {1,2,3,4,5};
NUMBS[2] = 1;
答:final指向变量的对象不能改变,但是内容可以。
阅读代码EmployeeTest.java,回答:##
为什么其属性均为private?这样设计有什么好处?###
答:每一个雇员的个人信息都是唯一的且固定不变,设为private使其不容易被修改。
为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)###
答:
public Employee(){
this("雇员1",3000,2017,3,5);
}
为Employee类再增加一个有参构造函数,参数只有name与salary,hideDay为当前日期。(粘贴代码)###
答:
public Employee(String n, double s) {
name = n;
salary = s;
Calendar calendar = Calendar.getInstance();
hireDay = calendar.getTime();
}
编写函数public static boolean isMondayToFriday()###
功能:判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。
提示:使用LocalDateTime, DayOfWeek
参考资料:
JAVA 8:健壮、易用的时间-日期API - ImportNew.pdf
Java8DateTimeTest.java
答:
3. 码云代码提交记录#
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
周四周五由于操作失误,码云的代码没有保存好
4. PTA实验#
题目集:jmu-Java-03-面向对象1-基础-封装继承 中的编程(5-1, 5-2, 5-3)
一定要有实验总结
1.5-1与5-2遇到的问题类似,首先,类中不能再定义类,静态与非静态要细心区分,否则在引用过程中会出现问题,set与get要对应好。
但是还是有点不明白为什么下图中的{}不能没有
2.在代码运行过程中出现“editor doesnot contain a main type”
解决方法:src->build path->use a source fold;
3.根据pta的题目设变量的个数,例如第一题要求自己输如个数n,而第三题则要求输入两组
4.这周的实验运用到大量类的创建,private属性的定义
201521123004 《Java程序设计》第3周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- 前端到后台ThinkPHP开发整站(6)
今天终于把整个后台管理系统弄好了,其实没什么难点,只是作为一个Thinphp学习的练手项目,这个项目,现在还只能算是做了一半,还有前台展示方面的功能没有完成.先过一遍后台的功能吧! 1.首页 2.菜单 ...
- innodb和myisam存储引擎插入速度
--innodb和myisam存储引擎插入速度 ------------------------------------2014/05/21 MySQL 5.6 全部默认设置,插入数据9999条,性能 ...
- SQL连接、合并、子查询
连接:连接分为内连接.外连接.交叉连接 内连接和外连接都是在笛卡尔积的基础做一些修改. 合并查询:把两个相似的结果可以用union联合起来. mysql> select id,time from ...
- Entity Framework Core 2.0 全局查询过滤器
不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: http://gunnarpeipman.com/2017/08/ef ...
- win10下vagrant+centos7 rails虚拟开发机配置流程
此文写于2017.8.21 在写本文前,笔者已经尝试了多种其他的替代方法,例如wmware虚拟机安装kylin.然而发现总是还有各种问题.经大佬指点安装了virtualbox + vagrant.于是 ...
- 操作手册(1)JDK的安装与配置
1 JDK的安装与配置 1.1 背景 JDK(Java SE Development Kit)是 Java 语言开发工具包的简称,是开发和运行 Java 程序的基础环境. 更多描述 | 百度百科: → ...
- nmon 使用
官网:http://nmon.sourceforge.net/pmwiki.php 步骤 1. 下载nmon到linux上: 2. 解压tar包,根据使用的linux版本选择使用的文件,并对其加上使用 ...
- Effective Java通俗理解(下)
Effective Java通俗理解(上) 第31条:用实例域代替序数 枚举类型有一个ordinal方法,它范围该常量的序数从0开始,不建议使用这个方法,因为这不能很好地对枚举进行维护,正确应该是利用 ...
- linux ls 命令
ls 命令是 Linux 下最常用的命令之一,用来查询目录下的内容(list directory contents).本文将介绍其基本的用法和一些典型的用例.笔者使用的测试环境为 ubuntu 16. ...
- H5性能测试学习
工欲善其事,必先利其器,在做H5前端性能测试之前,选择合适的工具能让我们的测试工作事半功倍.本文要提到的工具有两类: 一类是抓包工具,如Fiddler.Charles等.这类工具不仅可以抓包,还可以对 ...