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);
} }

以上代码可否编译通过?哪里会出错?为什么?尝试改正?

答:不能编译,将代码放到eclipse中出现以下问题:



通过图示,很容易的知道,这两个问题就是:
1.没有可调用的函数Test1getj()。
2.public static void geti(){
System.out.println(i);
}根据static方法不能访问非static的属性与方法,所以,System.out.println(i)不能调用非静态变量i。 改正:
1.可以建立先关方法private static void Test1getj();
2.将public static void geti()改成:public void geti()。

如果创建3个Test1对象,有内存中有几个i,几个j?请分析原因?

答:3个i,1个j,因为非static的对象和static的对象所分配的存储空间不一样,相同的static的对象会分配在同一存储空间中,而非static对象每创建一个,就会被放在新的存储空间。

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

答:
构造函可以理解为构造方法。
·它的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域;
·如果定义类时,没有撰写构造函数,编译程序会自动加入一个无参函数、内容为空的构造函数;
·根据课本的结论如果自行撰写了构造函数,编译程序就不会自动建立默认构造函数。所以如果一个类中只有带参的构造函数,它就不会有不带参数的默认构造函数。

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

答:·通过查询java的API文档,Math不是一个静态类,但是他的方法是静态的。根据静态的定义,如果一个方法是静态的,它是属于整个类的,可以用类名.方法直接访问,也就不用new出一个实例对象来进行访问了。
·如果new Math()会产生The constructor Math() is not visible的错误。

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

答: 重载是指方法名相同,参数的个数或者类型不同。
构造函数重载是指函数的函数名与类名相同,自变量的类型不同或者参数的个数不同。
举例:
class Person{
private String name;
private int age; public Person(){
super();
} public Person(String name,int age){
super();
this.name = name;
this.age = age;
}
}
对于函数Person进行多次使用,但是它的参数不一样。
java.lang.Math类中的例子:

通过传入的参数个数和类型,进行判断,调用相适的方法

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

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

NUMBS[2] = 1;

答:final修饰的变量不能改变是指他所指的变量不能变,但是对象的内容可以变化。

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

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

答:·每个对象都有各自的属性和方法.但是有的属性涉及安全因素或秘密因素不能让外面的程序调用,所以就用到了private。
·经过它定义的变量只能在此对象内部调用,外部程序就无法调用,也就是说只能供其自身调用。
·举个有趣的例子:比如某个人是一个对象,那么他的血液就肯定是私有变量,只能供其自身调用来维持人的状态.而如果将血液定义成public(公共的)的话,随便其他人都可以改变他血液的状态,你随便把他的血液值设为逆流,那他不就挂了,哈哈。。。

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

答:
public Employee(){
name = 1;
salary = 3000;
GregorianCalendar calendar = new GregorianCalendar(2017, 3-1 , 5);
hireDay = calendar.getTime();
}

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

答:
public Employee(String n,double s){
name = n;
salary = s;
GregorianCalendar calendar = new GregorianCalendar(GregorianCalendar.year, GregorianCalendar.Month-1 , GregorianCalendar.day);
hireDay = calendar.getTime();
}

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

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

参考资料:

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

Java8DateTimeTest.java

答:

3.码云上代码提交记录

4.PTA实验总结

实验碰到的问题、思考、收获与解决方案
实验一:使用eclipse可以自动生成settter,getter以及toString函数,大大减少了码代码的时间,能提高效率。
实验二:在实验一的基础上用到了静态初始化,属性id为每个对象的唯一标识,即每个对象的id都不一样。不能被随意修改,能不错的保护信息。
实验三:用到了Arrays.deepToString输出Rectangle数组与Circle数组。
总体上三道题都有相似之处。

201521123044 《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. python机器学习实战(四)

    python机器学习实战(三) 版权声明:本文为博主原创文章,转载请指明转载地址 www.cnblogs.com/fydeblog/p/7364317.html 前言 这篇notebook是关于机器学 ...

  2. CSS学习笔记!

    一.关于图像RGB值和像素值的确定! 腾讯QQ截图软件Ctrl+Alt+A进入截图界面,鼠标变成彩色,便会拾取鼠标当前颜色,再按住Ctrl切换到十六进制格式#******.图像的像素值也在截取框内显示 ...

  3. java自旋锁

    一 Test-and-Set Lock 所谓测试设置是最基本的锁,每个线程共用一把锁,进入临界区之前看没有有线程在临界区,如果没有,则进入,并上锁,如果有则等待.java实践中利用了原子的设置stat ...

  4. Orcle导入导出dmp文件

    --Orcle导入导出dmp文件 --------------------------2013/12/06 导出表:   exp scott/tiger@mycon tables=(dept,emp) ...

  5. 初次搭建vue环境(最基础的)

    一直以来觉得搭建环境是自己的短板,恰巧老大跟我说他刚才面试一个有4年工作经验的人,给那面试的人出了到机试题,给了1小时的时间连环境都没搭好.且不说那人的工作经验是否掺有水分,自己还是有点尴尬的,以前的 ...

  6. 自写JS分页工具【基于JQ】

    好久没有来逛园子,也好久没有更新博客,就像沉睡已久的人忽然被叫醒,忽然就被园友的回复惊醒了.园友提出了关于我之前一篇文章的疑问--可那已经是半年以前的博客了,加上我一直觉得分享给大家的应该是我最新的思 ...

  7. quartz学习笔记(一)简单入门

    前言 quartz是Java编写的一款开源的任务调度开发框架,在项目开发中很多场景都可以用到,比如订单超期自动收货. 所谓程序源于生活,生活中也有很多场景可以用quartz来模拟,比如工作日早上七点起 ...

  8. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

  9. Windbg调试关键区(CriticalSection)死锁

    一. 准备工作 这里一个有关键区锁死问题的程序,运行之后依次点击"CS锁死"按钮.右上角退出按钮,程序就会卡死.(图1) 对于眼下的这个问题,界面完全失去响应,这说明负责消息处理的 ...

  10. hdu 6171---Admiral(双向搜索)

    题目链接 Problem Description Suppose that you are an admiral of a famous naval troop. Our naval forces h ...