第三周-面向对象基础与类的识别-自主学习任务
问题列表:
(1)什么样的方法应该用static修饰?
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static来修饰
(2)不用static修饰的方法往往具有什么特性?
没有用static修饰的方法可以直接调用其他的静态方法和非静态方法
(3)Student的getName应该用static修饰吗?
不应该用static修饰,name固定的,如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,属于所在的类。
(4)购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?
识别类
找名词:创建类或者是类的属性
找动词:分析是否可作为方法,可以作为哪一类的方法
(5)方法与属性到底属于哪个类,要怎么判定呢?
根据语句包含和主语情况判定
(6)一个项目中有很多类。项目中要怎么管理这些代码呢?
使用包管理类,就如目录组织管理文件一样
包机制:将相关的类接口组织起来
(7)阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:
变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
阿里巴巴Java开发手册终极版v1.3.0.pdf (csdnimg.cn)
-
变量命名
不以下划线或美元符号开头;遵循驼峰命名法,首单词小写后单词首字母大写;
-
类命名
UpperCamelCase风格,每个单词的首字母大写;
-
方法命名
第一个单词首字母小写,其后单词的首字母大写
-
常量命名
全部采用大写,单词间用下划线隔开
-
包命名
包名都是小写
-
代码格式
{}的用法,if/for/while/switch/do 括号换行规则,对其,缩进,空格问题
-
OOP规约
-
避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可;
-
所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。
-
当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起, 便于阅读
-
类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。
-
setter 方法中,参数名称与类成员变量名称一致,this.成员名 = 参数名。在
getter/setter 方法中,不要增加业务逻辑,增加排查问题的难度。