第三周-自主学习任务-面向对象基础与类的识别

学习目标

  1. 重点:掌握pivate、public关键字的用途及其与setter/getter模式和封装性之间的关系。
  2. 理解static属性与static方法的用途。
  3. 掌握使用初始化块初始类的方法。掌握初始化块与静态初始化块的区别。
    4.掌握使用我package管理类。
    5.重点:学会识别问题中的类并定义解决问题所需要的类。
    6.初步了解Java编程规范。

学习任务

  1. 观看(Java线上课程 http://www.xueyinonline.com/detail/218804544)
  • 视频:3.3-3.7.
  • 重点观看:3.3、3.4、3.7(面向对象-类的设计).
  1. 重点:结合视频与预习课件以博客或者帖子的形式完成如下"问题列表",需提交。本次作业基础分1分,最高3分。
  2. 尝试完成PTA题集:
  • 编程题:3.1 构造方法与toString,3.2 构造方法与初始化块,3.3 形状。提前完成这3题的同学,实验课上检查后加分。
  • 程序填空题:b3.1
  1. 阅读:阿里巴巴Java开发手册 终极版(1.3.0)》中的1.1-1.4.

问题列表

1. 什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?

  • 当一个方法需要初始化加载或者经常被调用的时候可以加上 static,被 static 修饰的方法可以用类名直接调用,不用实例化一个对象后才调用
  • 没有用static修饰的方法可以直接调用其他的静态方法和非静态方法
  • Student的getName不应该用static修饰,因为其name为非静态属性

2. 购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?


  • 找到相应的主语来判断方法和属性属于哪个类

3. 一个项目中有很多类,项目中要怎么管理这些代码呢?

  • 根据不同的功能和种类进行分包,将同一类的类放入同一包下

4. 阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。

  1. 变量命名:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束,使用 lowerCamelCase 风格,必须遵从驼峰形式,首单词小写,后单词大写
  2. 类命名:名使用 UpperCamelCase风格,必须遵从驼峰形式,全部单词大写
  3. 方法命名:使用 lowerCamelCase 风格,必须遵从驼峰形式,首单词小写,后单词大写
  4. 量命名:常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长
  5. 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
  6. 大括号的使用约定:如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:左大括号前不换行、左大括号后换行、右大括号前换行、右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。if/for/while/switch/do 等保留字与括号之间都必须加空格。方法参数在定义和传入时,多个参数逗号后边必须加空格。单行字符数限制不超过 120 个,超出需要换行。
  7. OOP规约:
  • 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成
    本,直接用类名来访问即可。
  • 所有的覆写方法,必须加@Override 注解。
  • 相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。
  • 外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生
    影响。接口过时必须加@Deprecated 注解,并清晰地说明采用的新接口或者新服务是什么。
  • 不能使用过时的类或方法。
  • Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用
    equals。
    正例:"test".equals(object);
    反例:object.equals("test");
  • 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。
  • 构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中。
posted @ 2021-09-23 19:53  Lzwx2  阅读(63)  评论(0编辑  收藏  举报