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

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

  • 一个方法需要初始化加载,或者经常被调用的时候,应该用static修饰。或者希望定义一个类成员,使它的使用完全独立于该类的任何对象。
  • 要先实例化一个对象然后才可以调用。
  • 不应该,因为每个student的信息不同,getName需要考虑不同的对象,每个getName都只属于相应的student。

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

  • 用语言文字来描述系统的功能,找出相应的动名词。
  • 一般动词为方法,名词为属性。

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

  • 可以根据类的功能,将功能相似的类放在同一个包中,方便后续对包的导入和使用。

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

变量命名

  • 要用驼峰命名法命名多个单词组成的变量名
  • 变量名不可以和java的关键字冲突

类命名

  • 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写
  • 名字必须以字母开头,后面可以跟字母和数字的任意组合
  • 不能使用 Java 关键字作为类名

方法命名

  • Dao 接口命名:这里的方法名字最好对应着sql语句,然后表示条件用By作为介词,表示查询列表用list前缀。
  • Service 接口命名:这里用的是解决人类的思维,查询就是find,添加是add,删除就是remove,修改是modify。然后条件也用by,大量用list后缀。

常量命名

  • 常量名需要全部大写,这样浏览时就可以轻松找到程序中的常量并进行检查或者修改。
  • 为了避免程序之间出现错误,不能够使用数字作为一个常量的开头。
  • 为了避免Java程序误判,常量命名需要避开关键词。

包命名

  • 包名都由小写单词组成,同时不能有特殊字符
  • util:对应英文utility(实用工具),一般存放工具类
  • business:一般存放业务类,处理程序业务的功能类就放在这里。
  • control:一般存放控制类,后台控制的一些类就放在这里
  • dao:对应英文Data Access Object,数据访问对象,一般存放与数据库(文本、Excel等)打交道的类
  • vo:对应英文Value Object,值对象,一般存放实体(Model)。
  • driver:一般存放驱动类,一般显示菜单,调用dao等包中的方法来驱动程序。

代码格式

  • Java中的程序代码都必须放在一个类中
  • Java语言是严格区分大小写的
  • 大括号的开始在代码块开始的行尾,闭合在和代码块同一缩进的行首

OOP规约

  • 避免通过一个类的对象引用访问此类的静态变量或静态方法,无畏增加编译器解析成本,直接用类名访问即可。
  • 所有的覆写方法,必须加@ Override注解。
  • 相同参数类型,相同业务含义,才可以使用java的可变参数,避免使用Object。
  • 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。
  • Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。
  • 所有的 POJO 类属性必须使用包装数据类型。
  • RPC 方法的返回值和参数必须使用包装数据类型。
  • 所有的局部变量使用基本数据类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值