面向对象入门2与类的识别

学习目标.

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

Problem:

  1. 什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
  2. 购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
  3. 一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。
  4. 阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。

Answer:

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

使用这个方法,没有必要创建对象时或者需要对一些静态变量初始话时就使用static修饰

需要创建对象这个方法才有使用的意义,可以直接调用其他的静态方法和非静态方法

Student的getName方法就需要创建学生对象赋予姓名才有意义,所以不能使用static修饰。

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

先找出对象,将对象的能做到行为抽象为方法,再将对象的一些基本属性找出来设为变量保存 

判断方法到底属于哪个类,其实用被动句的主语可以做到,比如开门这个行为,实际上是门“被”开了,应该属于门这个类更好一点。

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

将类放在不同的包中进行管理(类似于树形目录,不同包可以有同名类)

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

  • 变量命名

    不以下划线或美元符号开头;遵循驼峰命名法,首单词小写后单词首字母大写;

  • 类命名

    UpperCamelCase风格,每个单词的首字母大写;

  • 方法命名

    第一个单词首字母小写,其后单词的首字母大写

  • 常量命名

    全部采用大写,单词间用下划线隔开

  • 包命名

    ​ 包名都是小写

  • 代码格式

    {}的用法,if/for/while/switch/do 括号换行规则,对其,缩进,空格问题

  • OOP规约

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

  • 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。

  • 当一个类有多个构造方法,或者多个同名方法,这些方法应该按顺序放置在一起, 便于阅读

  • 类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。

  • setter 方法中,参数名称与类成员变量名称一致,this.成员名 = 参数名。在
    getter/setter 方法中,不要增加业务逻辑,增加排查问题的难度。

     详情见如下:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值