1、本周学习总结

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

      1-以上代码可否编译通过?哪里会出错?为什么?尝试改正?                                                                                                                                                                                          不可以通过编译;图一中第15行出错;因为此时i变量不属于static变量;改正如图2所示。
      2-如果创建3个Test1对象,有内存中有几个i,几个j?请分析原因?                                                                                                                                                                                  在内存中会有3个i,因为对于一个static字段来说每个类只分有一份存储空间;在内存中会有一个j,因为对于一个非static字段来说每个对象会分一个存储空间。

    • 构造函数有什么用?其编写格式是什么?如果一个类不写构造函数,它有构造函数吗?如果一个类中只有带参的构造函数,它有没有不带参数的默认构造函数?                                                                    构造函数主要用来在创建对象时初始化对象; 编写格式:修饰符(public、private等) 类名(){……}; 若一个类不写构造函数,系统会自动加入默认的无参数、内容为空的构造函数;若一个类只有带参的构造函数,编译程序就不会自动建立默认构造函数。

    • 使用java.lang.Math类的函数时,为什么不需要new?如果new Math()会产生什么错误?分析原因?                                                                                                                                        如果一个方法是静态的,它是属于整个类的,可以用类名.方法来直接访问,不需要new一个新的对象,只需要在代码的头部加上import java.lang.Math即可,而不需要new一个新的对象。由于构造函数被声明为私有的,就是说明不能被外部调用,所以不能new出来一个新的对象,如果new Math()会产生编译错误。

    • 什么是重载?什么是构造函数重载?在java.lang.Math类中举出1个函数重载的例子?怎么才能区分两个重载函数?                                                                                                                        重载是指函数或者方法有相同的名称,但是参数列表不相同的情形;构造函数的重载指构造函数具有相同的名字,而参数的个数或参数类型不相同;在java.lang.Math类中函数重载的例子:static int getExponent(double d)和static int getExponent(float f) 区分两个重载函数:虽然函数有相同的名称,但是参数列表不相同,所以可以根据参数列表来区分两个重载函数。

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

      final int[] NUMBS= {1,2,3,4,5};
      NUMBS[2] = 1; final修饰引用类型变量,变量的值(引用)不能修改,但是变量指向的对象的值可以修改
    • 阅读代码EmployeeTest.java,回答:
      1. 为什么其属性均为private?这样设计有什么好处?                                                                                                                                                                                                                                                                                                     为了不让其示例对象直接通过对象.属性名来使用和修改,而是通过set属性名,get属性名,更安全,这样属性就不会随意的被赋值上任何非法的值了,可以在set属性名的方法中进行控制。
      2. 为Employee类增加一个无参构造函数,调用其有参构造函数,设置name为雇员1, salary为3000, hireDay的年月日为2017年3月5日。(粘贴代码)                                                                                                                                                                              Employee e = new Employee();                                                                                                                                                                                                                                                                                                                 e.getName("雇员1");                                                                                                                                                                                                                                                                                                                    e.getSalary(3000);                                                                                                                                                                                                                                                                                                                                    e.getHireDay(2017,3,5);                                                                                                                                                                                                                                                                                                                             System.out.println(e.getName());                                                                                                                                                                                                                                                                                                               System.out.println(e.getSalary());
      3. 为Employee类再增加一个有参构造函数,参数只有name与salary,hideDay为当前日期。(粘贴代码)                                                                                                                                                                                                                                     public Employee(String name, double salary , Date hireday){                                                                                                                                                                                                                                                                                    getName();                                                                                                                                                                                                                                                                                                                                                getSalary();                                                                                                                                                                                                                                                                                                                                              getHireDay();                                                                                                                                                                                                                                                                                                                                            }
    • 编写函数public static boolean isMondayToFriday()
      功能:判断今天如果是周一到周五,直接输出如“上班时间”并返回true,否则输出“休息时间”。
      提示:使用LocalDateTime, DayOfWeek                                                                                                                                                                                                                                                                                                                                                                                           

      3. 码云代码提交记录

      4. PTA实验总结

    • 初始化块的修饰符只能是static,使用static修饰的初始化块被称为静态初始化。初始化块里的代码可以包含任何可执行性语句,包括定义局部变量 ,调用其他对象的方法,以及使用分支,循环语句等。{}单纯被一个大括号括起来的叫初始化块,static{}叫做静态初始化。
    • 静态初始化的等级是最高的,会最优先执行
    • Shift+Alt+S,Generate toString()自动补全toString;Generate Getter and Setters,自动添加。
    • Private ,编程语句在模块级别中使用,用于声明私有变量及分配存储空间。使用private修饰符可以完全隐藏类的成员,使得不能从类外直接访问它们。相对的,使用public修饰符允许任何类访问类的成员。
    • 在main函数里调用新建的类中定义的函数,必须先new一个对象,然后对这个对象进行操作。
    • 这次的实验感觉不会太难,而且数量也比较适中,感觉这样挺好的。。。

201521123087 《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. [STM32F429-DISCO-uCosiii]3.uCOSIII 移植

    uCOSiii的结构比uCOSii看上去是清晰了不少,也比较有条理,所以呢,移植不是让人感觉很乱.在工程中添加如下目录和文件 与CPU相关的文件都集中在uC-CPU文件夹中.这部分有很多是底层的实现, ...

  2. PC网页版、移动客户端、Wap版 有什么不同

    测试周期中,可能会涉及到版本说明的词汇,比如:PC版.网页版.Web客户端.PC客户端.移动端.移动客户端.Wap版.H5. 关于"PC网页版"- 因为之前,基本没有PC终端业务,所以我们在通常的沟通 ...

  3. 【有意思的BUG】分享按钮 分享功能

    [分享按钮]是一个常见的功能,你可以把看到的有意思的东西分享到自己的BLOG.朋友圈之类的地方. 但是,分享出去的文本(也可以包含图片)在每个目标网站上面的格式并不是统一的,所以就存在了美感的三六九等 ...

  4. Python学习笔记2:构造序列:列表推导和生成器表达式

    欢迎访问个人网站:www.comingnext.cn 1. 关于Python内置序列类型 a. 按能否存放不同类型的数据区分 容器序列: list.tuple 和collections.deque这些 ...

  5. Promise与异步

    不知道promise,大家现在用了吗?如果还不了解的话,今天就来对了-基础的了解起来- 正文从这开始- 接触过promise的的都知道它的应用场景和用途,Promise可以用来避免异步操作函数里的嵌套 ...

  6. 【Spring 核心】高级装配

    高级装配用来适应开发和生产 不同环境下的软切换 一.环境与profile 1.开发环境下的profile package com.bonc.config; import javax.sql.DataS ...

  7. Java 环境设置

    Java 环境设置 本地环境设置 如果你依然想要为 Java 编程语言设置环境,那么本节将指导你如何在你的电脑上下载和设置 Java.请按照以下步骤进行环境设置. Java SE 可以从下载 Java ...

  8. Kotlin代理属性--官方文档翻译

    代理属性 Delegated Properties 本文为个人翻译的Kotlin官方文档, 原文连接: Delegated Properties 一些特定的常见类型的属性, 尽管我们可以在每次需要的时 ...

  9. 使用php下载的文件打不开,自己用着没问题,客户用就不行?

    1 现象: 开发的时候用的好好的文件下载功能,部署到客户那边就不好使了,几乎所有从服务器下载下来的文件都不能打开. 比较了上传前的文件.上传后服务器端的文件.下载后本机的文件,发现同一个文件,上传后还 ...

  10. Canvas 宽度、高度设置

    在HTML5中插入一个Canvas元素,如下: <canvas id="mycanvas"></canvas> 要想在该画板上进行操作,则需要先取得其执行上 ...