目录
学习目标
- 重点:掌握pivate、public关键字的用途及其与setter/getter模式和封装性之间的关系。
- 理解static属性与static方法的用途。
- 掌握使用初始化块初始类的方法。掌握初始化块与静态初始化块的区别。
- 掌握使用我package管理类。
- 重点:学会识别问题中的类并定义解决问题所需要的类。
- 初步了解Java编程规范。
学习任务
- 观看Java线上课程http://www.xueyinonline.com/detail/218804544视频:3.3-3.7.
重点观看:3.3、3.4、3.7(面向对象-类的设计). - 重点:结合视频与预习课件以博客或者帖子的形式完成如下"问题列表",需提交。本次作业基础分1分,最高3分。
- 尝试完成PTA题集:
- 编程题:3.1 构造方法与toString,3.2 构造方法与初始化块,3.3 形状。提前完成这3题的同学,实验课上检查后加分。
- 程序填空题:b3.1
- 阅读:阿里巴巴Java开发手册 终极版(1.3.0)》中的1.1-1.4.
阿里巴巴Java开发手册终极版v1.3.0.pdf1.01M
问题列表
- 什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
-
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static。用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用。
- 没有用static修饰的成员变量叫做实例成员变量
实例成员变量存储在堆内存中,每个对象都有自己独立的实例变量,在内存中可以有多份.
实例成员变量只能使用对象名.变量名的方式访问.
没有用static修饰的成员方法,是实例成员方法.
实例方法可以直接使用静态和非静态的成员变量
实例方法只能使用对象名.方法名的方式调用.
实例方法可以直接调用其他静态方法和非静态方法.
应该,因为Student的getName需要使用静态的方法,有static关键字的变量或方法在类加载的时候就会加载到内存。 是不需要创建对象调用的。想要调用它只需要通过 类名.* 就可以调用。
2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
名词->属性或属性
动词->方法
找到与某些名词相关的动作和特征,然后将对应相关的方法与属性放到同一个类中。
3.一个项目中有很多类。项目中要怎么管理这些代码呢?
将这些类放入包(package)中,即将不同的类按照功能或者种类放到不同的包下
4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:
变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
- 类命名:类名是以大写字母开头的名词。如果有多个单词组成,每个单词第一个字母应该大写(骆驼命名法)。不能使用Java保留字作为类名。示例:DemoClass
- 变量命名:必须以字母、下划线、或者美元符 开头;变量名称全部大写,单词间用下划线隔开。 首字母是小写的,接下来的单词都以大写字母开头。示例:demoParam
- 方法命名: 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。示例:demoFunction
- 包命名:包名全部小写,Java包的名字都是由小写单词组成。即便多个单词也全小写。示例:demopackage
- 代码格式:类中方法定义私有 private修饰,标识符的命名力求做到统一、达意和简洁。对于同一个概念,在程序中用同一种表示方法。标识符能准确的表达出它所代表的意义。在统一和达意的前提下,用尽量少的标识符。
- OOP规约:所有的覆写方法,必须加@Override 注解。不能使用过时的类或方法。
- 常量命名:常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。示例:IS_SUCCESS