(Java程序设计作业)第三周-自主学习任务-面向对象基础与类的识别

1.0 学习任务地址:

2.0 问题列表:

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

  • 1)比较常用的方法(如Math类,Arrays类的方法,可以未创建对象直接使用),用来测试一下程序是否正常运行的方法;
  • 2)①不用static修饰的方法属于对象,需要创建对象才能使用。用static修饰的方法属于类,不属于对象。
    _)②static修饰的方法不能调用非静态的方法与变量。
  • 3)应该用吧,如果不用static修饰的话,getName属于对象,获取名字则需要 student1.getName(); student2.getName();
    _)而用static修饰的话,则是 Student.getName(student1); Student.getName(student2);
    _) emmm...不懂为什么要不要用static修饰

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

  • 1)先是”讲故事“,描述自己所要创建的系统的功能。然后找到描述中的名词、动词。判断这些名词能否作为对象,或是属性,动词是否作为类的方法。
  • 2)根据它们与类的在现实中的关系判断??

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

  • 1)用包(package)管理,包管理有点像目录管理。
  • _)包可以将相同的类、接口组织起来。
  • _)包有访问控制和命名空间等功能。
  • _)访问控制:应该是指包外的类能否访问该包内的类。
  • _)命名空间:应该是的一个包是一个独立的命名空间,不同的包里的相同的类名也是不同的类,大概是这个意思吧。

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

  • 1)变量命名:方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式
  • 2)类命名:抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。
  • 3)方法命名:方法参数在定义和传入时,多个参数逗号后边必须加空格。
  • 4)常量命名:不允许任何魔法值(即未经定义的常量)直接出现在代码中。
  • 5)包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
  • 6)代码格式:大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
  • (1)左大括号前不换行。
  • (2)左大括号后换行。
  • (3)右大括号前换行。
  • (4)右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
  • 7)OOP规约:避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。