构造器/构造函数
- 与类同名
- 每个类可以有一个以上的构造器
- 可以有0个、1个或多个参数
- 没有返回值
- 总是伴随着new操作一起调用
静态方法
不需要使用对象来调用静态方法
- 不能向对象实施操作 => 不能在静态方法中访问实例域
- 没有this参数/隐式参数(?
- 可以使用静态方法,当一个方法
- 所需参数均通过显式参数提供,即不需要访问对象状态
- 只需访问类的静态域
工厂方法
由于①构造器的名字必须与类名相同、②无法改变构造器所构造的对象类型,静态方法也可利用工厂方法生成不同的对象
方法参数
- 一个方法不能修改一个基本数据类型的参数(数值型&布尔型)
- 一个方法可以改变一个对象参数的状态
- 一个方法不能让对象参数引用一个新的对象(对象引用进行的是值传递)
重载Overloading
多个方法有相同的名字、不同的参数,[重载解析]编译器通过各个方法的参数类型和特定方法调用所使用的值类型进行匹配来挑选出相应的方法
- 返回类型不是“方法签名”的一部分,即不能通过返回类型来区分两个方法
包作用域
- public:可以被任意的类使用
- private:只能被定义它们的类使用
- 否则,可以被同一个包中的所有方法访问
类设计技巧
- 一定要保证数据私有,绝不破坏封装性
- 一定要对数据初始化
- 不在类中使用过多的基本类型 => 用其他的类代替多个相关的基本类型的使用 -- 使类更加易于理解和修改
- 不是所有的域都需要独立的域访问器和域更改器
- 将职责过多的类进行分解 -- (高内聚?
- 类名和方法名要体现其职责