1.本周学习总结

2.书面作业

1.代码阅读

public class Test1 {
private int i = 1;//这行不能修改
private static int j = 2;public static void main(String[] args) {geti();Test1.getj();}public static void geti() {Test1 test=new Test1();System.out.println(test.i);}public static void getj() {System.out.println(j);}}

以上代码可否编译通过?哪里会出错?为什么?尝试改正?如果创建3个Test1对象,有内存中有几个i,几个j?

  • 编译无法通过,i会报错,它不是一个静态的对象。第二行不能更改,所以增加Test1 test=new Test1();
  • 创建了三个Test1对象,内存中有三个i,一个j。因为静态对象的每个类就只有一个存储空间,三个j都是同一个。但是i不是静态对象,所以每次都会创建新的i,所以有三个。

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

  • 构造函数最大的好处是方便,能够便捷的快速调用编写好的一些程序,规则,同时也能区不同类型,用途的不同代码。
  • 编写格式 public(或者private)类名(有无参数都行){}构造函数不写返回类型。
  • 没有。如果一个类,没有定义构造函数,那么系统就会默认有一个无参的构造函数。但是如果定义了一个有参函数,为了保证正确性,系统不会创建无参构造函数。这时候如果还想允许无参构造,就必须显式的声明一个。

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

  • Math()是外部类,Math()类里面的方法是静态的。所以直接使用类访问就可以了。
  • 如果new Math(),那么也找不到math下面的其他方法。

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

  • 重载,简单来说就是函数活着方法有相同的名称,但是参数列表不相同的情况。可使函数、运算符等处理不同类型数据或接受不同个数的参数。
  • 函数名可以相同,但是特征标必须不同。用函数名来确定函数的不同,用特征标来确定重载函数的不同。同时,参数的顺序,类型不同也可以确定重载函数的不同。

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

final int[] NUMBS= {1,2,3,4,5};
NUMBS[2] = 1;
  • 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。这里引用的是int型的变量,但是他的内容还是可以改变的,所以代码可以正常运行。输出NUMBS[2]的答案为1;

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

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

  • 私有的,只能对自己使用,对别的类是不能访问的,也就是说对于别的类来说是隐藏不可见的。如果所有方法都public,万一被调用了本来应该封装的方法,那么很容易造成整个相关程序的修改。危害很大。

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

 public Employee(){this("雇员1",3000.0,2015,3,5);}

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

public Employee(String n, double s, LocalDate hireDay){name = n;salary = s;hireDay = LocalDate.now();}

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

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

  public static boolean isMondayToFriday(){LocalDateTime now = LocalDateTime.now();DayOfWeek dayOfWeek = now.getDayOfWeek();System.out.println(dayOfWeek);if(dayOfWeek!=DayOfWeek.SATURDAY && dayOfWeek!=DayOfWeek.SUNDAY)return true;return false;}if(isMondayToFriday())System.out.println("上班时间");elseSystem.out.println("休息时间");

提示:使用LocalDateTime, DayOfWeek

参考资料:
JAVA 8:健壮、易用的时间-日期API - ImportNew.pdf
Java8DateTimeTest.java

3.码云

4. PTA实验总结

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

转载于:https://www.cnblogs.com/ycll/p/6529410.html

Java 第三周总结相关推荐

  1. java第三周学习总结

    一.运算符与表达式 加减乘除 +-*/ 自增自减 ++ -- x=x+1 x=x-1 关系运算符 > < >= <= == != 逻辑运算符 && || ! 位 ...

  2. 2019-2020-3 《Java 程序设计》第三周知识总结

    2019-2020-3 <Java 程序设计>第三周知识总结 1.类的定义 语法格式如下(加[]表示可选项): [修饰符] class 类名 { 属性定义(声明) 方法定义(声明)} 2. ...

  3. 20165206 2017-2018-2 《Java程序设计》第三周学习总结

    20165206 2017-2018-2 <Java程序设计>第三周学习总结 教材学习内容总结 类:class是关键字,用来定义类. 类声明:例如class People. 对象的声明:类 ...

  4. 20155117 王震宇 2006-2007-2 《Java程序设计》第三周学习总结

    20155117 王震宇 2006-2007-2 <Java程序设计>第三周学习总结 教材学习内容总结 在JAVA程序编写中,常常要用到对象(Object),要产生对象首先要定义类(Cla ...

  5. 2017-2018-1 JAVA实验站 第三周作业

    2017-2018-1 JAVA实验站 第三周作业 团队展示 队名 JAVA实验站 拟作的团队项目描述 (2048)增加其他模式,使得2048更加丰富多彩 团队的首次合照 团队的特色描述 团队内部很团 ...

  6. 20155313 2016-2017-2 《Java程序设计》第三周学习总结

    20155313 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 4.1 类与对象 4.1.1 定义类 书本中使用了设计衣服来定义类,一件衣服的设计Cloth ...

  7. 2017-2018-1 Java演绎法 第三周 作业

    团队任务:团队展示与选题 团队展示 队员学号及姓名 学号 姓名 主要负责工作 20162315 马军 日常统计,项目部分代码 20162316 刘诚昊 项目部分代码,代码质量测试 20162317 袁 ...

  8. 20175204 张湲祯 2018-2019-2《Java程序设计》第三周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第三周学习总结 教材学习内容总结 -第四章类与对象要点: -面向对象语言三个特性:封装性:继承:多态: -类:1.类是组 ...

  9. java实验总结_java第一次实验总结第三周总结

    Java第一次实验报告,java开发环境与简单的Java程序 一.实验目的 1.熟悉JDK开发环境 2.熟练掌握结构化程序设计方法 二.实验内容 打印输出所有的"水仙花数",所谓& ...

最新文章

  1. 事务管理最佳实践全面解析
  2. python读取yuv
  3. 使用C语言来扩展PHP,写PHP扩展dll
  4. tableau实战系列(四十七)-Tableau快速生成可视化视图
  5. MySQL 数据存储文件
  6. java设置窗口不可移动_Java – JDialog不可移动
  7. 编写base64图片文件
  8. (转)如何使用CodeSmith批量生成代码
  9. Eclipse关闭无用validation
  10. Linux服务器时间快8个小时,Linux系统时间快8小时解决方案
  11. [转]CMS Content Management System(内容管理系统) 提供商
  12. 规则引擎groovy
  13. 模糊局部信息c均值聚类算法(flicm)
  14. 微信小程序—连接MQTT
  15. 深富策略:锂电光伏崛起 成长赛道再度回归
  16. 计算机房图怎么画,任务6掌握机房平面图的绘制方法.ppt
  17. python 个例程序
  18. Robust semantic segmentation by dense fusion network on blurred vhr remote sensing images
  19. 你小子,又在偷偷学this指向
  20. ID卡(工卡)复制到手机NFC

热门文章

  1. WeUI用Toast组件显示Loading
  2. HOG特征向量的代码
  3. LinearPolar函数
  4. jsp mysql在线考试系统源码_课内资源 - 基于JSP和MYSQL数据库实现的在线考试系统...
  5. babel编译html文件,使用webpack+babel来_编译_JS代码
  6. 解决socket粘包的两种low版模式 os.popen()和struct模块
  7. windows自带反编译chm文件
  8. Servlet,GenericServlet和HttpServlet的继承关系
  9. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
  10. JSP中javaBean和Servlet理解