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

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

  • 当一个方法需要初始化加载或者经常被调用的时候可以加上 static
  • 通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
  • 没有用static修饰的成员变量叫做实例成员变量
    • 实例成员变量存储在堆内存中,每个对象都有自己独立的实例变量,在内存中可以有多份
    • 实例成员变量只能使用对象名.变量名的方式访问
  • 没有用static修饰的成员方法叫做实例成员方法
    • 实例方法可以直接使用静态和非静态的成员变量
    • 实例方法只能使用对象名.方法名的方式调用
    • 实例方法可以直接调用其他静态方法和非静态方法
  • 不应该

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

  • 从设计类开始,需要先将设计的系统及其功能用一段文字描述,并将其中的名词和动词找出。
  • 名词:创建相应的类
  • 动词:可以当作方法
    在这里插入图片描述

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

  • 先对这些类进行分类,将同一种类型的类放在一起,不用的类用不同的来打包,分别放在不同的文件中

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

  • 变量命名:
    【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
    反例:_name / __name / O b j e c t / n a m e / n a m e Object / name_ / name Object/name/name / Object$
  • 类命名:
    【强制】抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类
    命名以它要测试的类的名称开始,以 Test 结尾。
  • 方法命名:
    【参考】各层命名规约:
    A) Service/DAO 层方法命名规约
    1) 获取单个对象的方法用 get 做前缀。
    2) 获取多个对象的方法用 list 做前缀。
    3) 获取统计值的方法用 count 做前缀。
    4) 插入的方法用 save/insert 做前缀。
    5) 删除的方法用 remove/delete 做前缀。
    6) 修改的方法用 update 做前缀。
    B) 领域模型命名规约
    1) 数据对象:xxxDO,xxx 即为数据表名。
    2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。
    3) 展示对象:xxxVO,xxx 一般为网页名称。
    4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。
  • 常量命名:
    【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。
    反例:String key = “Id#taobao_” + tradeId;
    cache.put(key, value);
  • 包命名:
    【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用
    单数形式,但是类名如果有复数含义,类名可以使用复数形式。
    正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils(此规则参考
    spring 的框架结构
  • 代码格式:
    【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果
    是非空代码块则:
    1) 左大括号前不换行。
    2) 左大括号后换行。
    3) 右大括号前换行。
    4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
  • OOP规约:
    【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成
    本,直接用类名来访问即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值