第03周 预习:面向对象入门2与类的识别

课前问题列表:

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

1) 如果这个方法是作为一个工具来使用的,就声明为static,不需要new一个对象就可以使用;当一个方法或者变量需要初始化加载,或者是经常被调用的时候也可以加上static

2) 没有用static修饰的成员方法,是实例成员方法.

    实例方法可以直接使用静态和非静态的成员变量

    实例方法只能使用对象名.方法名的方式调用.

    实例方法可以直接调用其他静态方法和非静态方法

3) 不应该用static修饰

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

1) 用一段文字描述所要设计的系统及其功能,然后将其中的名词和动词找出来。名词总结为类或属性,动词总结为方法

2) 通过文字的描述,判断名词和动作是否对应

3.一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。

1) 包机制可以将一组相关的类,接口组织起来:提供访问控制,命名空间管理。假设类名相同,放入不同的包中,那么就是相当于不同的类。

2) 将同类的类名放在一个包中

3)例如:Circle,rectangle可以放入shape包

4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:

1)变量命名

不能以下划线或美元符号开始,也不能以下划线或美元符号结束;严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式;遵循驼峰命名法,首单词小写后单词首字母大写

2)类命名

类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO;抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾;类使用了设计模式,在命名时体现出具体模式

3)方法命名

方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式;接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁 性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是 与接口方法相关,并且是整个应用的基础常量。

4)常量命名

不允许任何魔法值(即未经定义的常量)直接出现在代码中;常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长

5)包命名

包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用 单数形式,但是类名如果有复数含义,类名可以使用复数形式。

6)代码格式

大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;

如果是非空代码块则:

1) 左大括号前不换行

2) 左大括号后换行

3) 右大括号前换行

4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行

左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。

if/for/while/switch/do 等保留字与括号之间都必须加空格;任何二目、三目运算符的左右两边都需要加一个空格;采用 4 个空格缩进,禁止使用 tab 字符;注释的双斜线与注释内容之间有且仅有一个空格

方法参数在定义和传入时,多个参数逗号后边必须加空格。

7)OOP规约

避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成 本,直接用类名来访问即可。

所有的覆写方法,必须加@Override 注解。

构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中;Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals;所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值