面向对象

面向对象的程序有对象组成 每个对象包含一定的数据和方法 这些数据和方法可以选择公开或者私有 对象与对象互相调用最终组合成一个完整的程序


构建对象的模版

封装

信息隐藏 将数据和行为封装在一切 对调用者隐藏具体实现细节 对应类的属性和方法

继承

在扩展类时更方便 java是单继承的语言 所有类都继承自Object 继承后新的类将具备父类的所有可用属性和方法

类之间的关系

  • 依赖 uses
  • 聚合 has
  • 继承 is

对象

类的具体实现

构建

栈中引用指向堆中实体 Date birthday = new Date();


LocalDateTime

1.8之后的时间对象 为解决打印时SimpleDateFormat线程不安全 包括 LocalDate LocalDateTime LocalTime

image.png


打印日历 image.png

  1. public static void main(String[] args) {
  2. LocalDate now = LocalDate.now();
  3. int year = now.getYear();
  4. int month = now.getMonthValue();
  5. LocalDate firstDay = LocalDate.of(year, month, 1);
  6. int begin = firstDay.getDayOfWeek().getValue();
  7. System.out.println("Mon Tue Wed Thu Fri Sat Sun");
  8. for (int i = 1; i < begin; i++) {
  9. System.out.print(" ");
  10. }
  11. LocalDate tmp = firstDay;
  12. while (tmp.getMonthValue() == month){
  13. if (!tmp.equals(now)){
  14. System.out.printf("%3d ", tmp.getDayOfMonth());
  15. }else {
  16. System.out.printf("*%2d ", tmp.getDayOfMonth());
  17. }
  18. if (tmp.getDayOfWeek().getValue() == 7){
  19. System.out.println();
  20. }
  21. tmp = tmp.plusDays(1);
  22. }
  23. System.out.println();
  24. }

这种比较偏基础概念 就没记录