1. 本周学习总结

2. 书面作业

Q1.代码阅读

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

}

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

答:不能编译通过 System.out.println(i);这句会出错,因为前面定义的i是非静态的,而后面是静态的方法调用不了非静态的变量。我认为可以把public static void getj()这句中的static去掉。

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

答:3个i,1个j。静态变量对于每一类来说都只有一个值,所以j只有一个。i为非静态变量,每个对象都会有一个存储空间,所以i有三个。

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

答:①构造函数可以对类进行初始化操作,如初始化类的属性值。②修饰符+类名(){代码}。③若无定义,系统默认有一个无参构造方法。④没有不带参数的默认构造函数。

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

答:java.lang.Math类的函数都是静态的,直接用类名调用,不要new。Math()是已有的不用构造。

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

答:①重载(overload-方法重名但参数不同)称为重载函数或者方法。②一个构造函数可以有多个重载。③根据参数区分

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

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

NUMBS[2] = 1;

答:因为final修饰的变量不能变,但是变量所指的对象的值可以变,因此可以正常运行。

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

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

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

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

答:①private:只允许类内部进行访问,外部无法访问!雇员的信息一般不修改,可以避免外部操作。

②代码为 public Employee(){ this("雇员1",3000,2017,3,5); }

③代码为 public Employee(String n, double s) {

name = n;

salary = s;

Calendar calendar = Calendar.getInstance();

hireDay = calendar.getTime();

}

Q7.编写函数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)

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

return true;

}

else if

{ System.out.println("下班时间");

return false;

}

}

3. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

4. PTA实验

题目集:jmu-Java-03-面向对象1-基础-封装继承 中的编程(5-1, 5-2, 5-3)

实验总结

①在eclipse中的source栏中点击generate getters and setters能节约编程时间,帮忙输出那些容易的东西。

②非静态的方法是不能用调用静态的变量的

Java程序设计第三周学习总结的更多相关文章

  1. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

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

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

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

    20145213<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. 《Java程序设计》第九周学习总结

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

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

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  9. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

随机推荐

  1. bouncycastle 国密SM2 API的使用

    摘要:本文不对SM2做过多的介绍,主要介绍java bouncycastle库关于SM2的相关API的使用及注意事项 1. SM2 签名: 注意: 1)签名格式ASN1(描述了一种对数据进行表示.编码 ...

  2. UIKit View PG

    View Program iOS View and Window Architecture The view draw cycle When a view first appears on the s ...

  3. 【leetcode】349. Intersection of Two Arrays

    Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2, 2, 1 ...

  4. MVC5+EF6 完整教程17--升级到EFCore2.0

    EF Core 2.0上周已经发布了,我们也升级到core 文章内容基于vs2017,请大家先安装好vs2017(15.3). 本篇文章主要讲下差异点,跟之前一样的就不再重复了. 文章目录(差异点): ...

  5. 第7天:input和label标签

    今天学的不多,就只学了表单元素中的input和label标签.搬了房子,收拾了一下东西,太累了,所以没有学很多.明天还上班,今天就先到这. 一.input input标签type属性有以下几个:tex ...

  6. 使用TenforFlow 搭建BP神经网络拟合二次函数

    使用简单BP神经网络拟合二次函数 当拥有两层神经元时候,拟合程度明显比一层好 并出现如下警告: C:\Program Files\Python36\lib\site-packages\matplotl ...

  7. pdf.js跨域问题的分析

    最近在做公司业务时,需要在线浏览pdf.在现代浏览器中, 均可直接浏览pdf文件,无兼容性问题.但公司的业务线需要支持到ie8. 经过自己的搜索调研, pdf.js比较适合.pdf.js兼容到ie9, ...

  8. 小爬新浪新闻AFCCL

    1.任务目标: 爬取新浪新闻AFCCL的文章:文章标题.时间.来源.内容.评论数等信息. 2.目标网页: http://sports.sina.com.cn/z/AFCCL/ 3.网页分析 4.源代码 ...

  9. class对象详解

    我们知道,对于java语言,我们一般先写一个类对象,表示对某一类对象概述,其中包括属性,方法等.我们在对类对象编译时,会产生一个.class对象,jvm在加载类对象时,是加载.class 对象文件,我 ...

  10. Linux常用命令简单总结

    Liunx常用命令 1. 文件及目录管理 1.1. ls:显示目录 参数及说明 空:补显示隐含文件 -a:显示所有文件 -l:显示详细列表 1.2. chgrp:设置文件组(root权限) 用法示例 ...