1.给类和方法加注释
javadoc格式
1 | package com.geekboys.superMarket; |
2.成熟的类的对象要自己做事情
初始化成员变量
简单访问和设置成员变量的值
专有的计算逻辑
用类定义成员变量,把操纵成员变量的代码都放在类里,就是封装
- 可以集中管控,自己的成员别人不能随便修改
- 代码逻辑可以公用
- 更好的抽象一类事物
3.方法大的签名和重载
- 方法签名:方法名+依次参数类型。注意,返回值不属于方法签名。方法签名是一 个方法在一个
- .类中的唯一标识
- 在同一个类中方法可以重名,凡是签名不可以重复。一个类中如果定义了名字相同,签名不同的方法,就叫做方法重载
- 注意:放回值不属于方法签名的一部分,不能帮助确定调用哪个方法
4.重载的参数匹配规则
- 方法调用的时候参数不必完全一样,对于数字类型的参数,实参可以自动转换即可
- 依次:byte,short,int ,long ,float,double
- 重载的规则是选择最近的去调用
5.构造方法
作用:让init方法在对象创建的时候就自动调用
- 构造方法的方法名必须和类名相同,而且构造方法没有返回值
- 构造方法可以有参数,规则与普通方法一样
- 如果没有添加构造方法,java会默认自带以个无参结构方法,如果我们添加,java就不会做
- 事实上我们一直在使用构造方法,这也是为什么创建对象时,类名后面有一个括号
- 构造方法不能通过点操作符调用,只有在new语句时,间接使用
6.构造方法的重载和相互调用
- 构造方法才能调用重载的构造方法,语法为this(实参列表)
- 构造方法不能自己调用自己
- 在调用重载的构造方法时,不能使用成员变量,从语义来讲,这个对象还没被初始化完成
- 在构造方法里才能调用重载的构造方法,必须是方法的第一行。后面可以有代码
构造本质
- 构造方法执行前,会给执行给局部变量赋初始值的操作
- 构造方法在内部变成了
方法
7.静态变量
尽量不要使用Magic Number;
如果将折扣作为一个成员变量,会浪费空间
静态变量使用static修饰符
静态变量如果不赋值,java也会为其分配类型初始值
静态变量一般全使用大写字母加下划线分割,(习惯)
所有代码都可以使用静态变量,只要根据防范控制符的规范,让静态变量对其可见即可
比如public 的静态变量,所有代码都可以使用她
导入变量
- 使用import static来引入一个静态变量,就可以直接使用静态变量名访问了
- import static 也可使用*来引入一个类中所有的静态变量
- 也可以使用类名来访问静态变量
8.静态方法
- 也使用static修饰符
- 静态方法可以使用静态变量:包括自己类的静态变量和运行访问别的类的静态变量
- 除了没有this,静态方法定义和成员方法一样
- 静态方法没有this自引用,它不属于某个实例,调用的时候也无需引用,使用类名调用,所以她也不能直接访问成员变量
- 当然在静态方法里,也可以自己创建对象,或者通过参数获得对象的引用,进而调用方法和成员变量
9.静态方法的重载
静态方法的重载也一样,方法签名不同即可;方法名+参数类型
判断调用哪个的方法,也是根据调用时参数匹配决定的
三元操作符
- true ? a : b;
- 如果时true返回a,否则返回b
返回值不算是方法签名,重载的方法可以有完全不同的返回值类型
10.static代码块和static变量初始化
- 使用某个静态变量的代码块必须在静态变量的后面(但是赋值没关系)
- 在静态代码块中可以使用任意合法代码
- 在static的代码会被放在clinit中,会在每个class初始化的时候被调用一次