课前问题列表

1.3 课前问题列表

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

Static修饰的方法及非static方法的特性
1.应该用static修饰的方法:

通常是那些不依赖于对象状态的方法,即方法的执行不依赖于类的实例变量。这样的方法可以直接通过类名调用,而无需创建类的实例。例如,工具类中的方法常常用static修饰。

2.不用static修饰的方法:

这些方法通常需要访问或修改对象的实例变量,它们的执行依赖于类的具体实例。它们被非静态对象调用,且每个对象实例都可以有方法的不同执行状态。

3.Student的getName是否用static修饰:

通常情况下,getName这样的方法用于获取对象的某个属性(如学生的名字),因此它不应该被static修饰,因为它依赖于特定的Student对象实例。

购物车案例中的类、方法与属性识别

在购物车案例中,可以通过阅读需求和设计文档来识别所需的类、方法和属性。例如,可能需要Product(产品类),Cart(购物车类),CartItem(购物车项类)等。判断一个方法或属性属于哪个类,主要看它们与哪个类的职责最为相关。例如,addToCart(添加到购物车)方法应该属于Cart类,因为它改变了购物车的内容。

避免类名冲突及类管理
1.避免类名冲突:

使用唯一或具有足够命名空间区分的包名。例如,如果你的公司域名是example.com,你的项目可以放在com.example.myproject包下。这样可以减少与其他公司或开源项目的类名冲突。

2.管理代码:

使用包(package)来组织代码,按照功能或业务逻辑将类分组。在大型项目中,还会使用Maven或Gradle等构建工具来管理依赖和版本。使用版本控制系(如Git)来跟踪代码变更。
举例:在电商项目中,你可以有com.example.ecommerce.product包来存放所有与产品相关的类,com.example.ecommerce.cart包来存放购物车相关的类。

Java编程规范(包含变量命名、类命名、方法命名等)
1.变量命名:

变量名应小写,如果由多个单词组成,则从第二个单词起每个单词的首字母大写(驼峰命名法)。例如,userName。

2.类命名:

类名应由多个单词组成,每个单词的首字母大写(大驼峰命名法)。例如,Student。

3.方法命名:

方法与变量命名类似,使用驼峰命名法。动词或动词短语开始,表示该方法的行为。例如,getName。
常量命名:常量名应全部大写,如果由多个单词组成,则单词之间用下划线分隔。例如MAX_USERS。

4.包命名:

包名应全部小写,通常按照域名反向来命名,以便在全局范围内保持唯一性。例如,com.example.myapp。

5.代码格式:

保持一致的缩进风格(通常是4个空格或1个Tab),大括号成对出现并放在代码块的开始行。

6.OOP规约:

类的访问控制符尽量使用protected或private,少用public。
避免过深的继承层次,通常不超过三层。
使用接口(Interface)来定义行为的规范,让类通过实现接口来达到多态的效果。
使用组合/聚合而不是继承来复用代码,特别是当继承关系违反“is-a”关系时。
避免在构造方法中调用重写的方法,这可能导致意外的行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值