1. 隐式参数与显式参数:
raiseSalary方法有两个参数。第一个参数被称为隐式(implicit)参数,是出现在方法名前的 Employee类对象。第二个参数位于方法名后面括号中的数值,这是一个显式(explicit)参数。

已经看到,显式参数是明显地列在方法声明中的显示参数,例如double byPercent。隐式参数没有出现在方法声明中。 在每一个方法中,关键字this表示隐式参数。
2.域访问器(字段访问器)只返回实例域(字段)值。
在有些时候,需要获得或设置实例域的值。因此,应该提供下面三项内容:
• 一个私有的数据域;
• 一个公有的域访问器方法;
• 一个公有的域更改器方法
虽然这样比公有数据域复杂,但是却有着下列明显的好处:
1)可以改变内部实现,除了该类的方法之外,不会影响其他代码。
2)更改器方法可以执行错误检查,然而直接对域进行赋值将不会进行这些处理
注意不要编写返回可变对象引用的访问器方法。如果需要返回一个可变对象的引用,应该首先对它进行克隆(clone)。对象克隆是指存放 在另一个位置上的对象副本。
3.在Java中,为了实现一个私有的方法,只需要将关键字public改为private即可。
4.可以将实例域定义为final。构建对象时必须初始化这样的域。也就是说,必须确保在每一 个构造器执行之后,这个域的值被设置,并且在后面的操作中,不能够再对它进行修改
final修饰符大都应用于基本数据(primitive)类型域,或不可变(immutable)类的域(如果类中的每个方法都不会改变其对象,这种类就是不可变的类。例如,String类就是一个不可变的类。
对于可变的类,使用final修饰符可能会对读者造成混乱。例如,
private final StringBuilder evaluations;仅仅意味着存储在hiredate变量中的对象引用在对象构造之后不能被改变,不会再指示另一个不同的StringBuilder对象,而并不意味着 hiredate 对象是一个常量。
这个对象可以更改:
public void giveGoldStar()
{
evaluations.appen(LocalDate.now() + "Gold star!\n");
}5.静态域

6.静态常量

7.静态方法:静态方法是一种不能向对象实施操作的方法。
静态方法是没有this参数的方法(在一个非静态的方法中,this参数表示这个方法的隐式参数)
因为静态方法不能操作对象,所以不能在静态方法中访问实例域。但是,静态方法可以访 问自身类中的静态域。
可以使用对象调用静态方法。建议使用类名,而不是对象来调用静态方法。
在下面两种情况下使用静态方法:
• 一个方法不需要访问对象状态,其所需参数都是通过显式参数提供(例如:Math.pow)。
• 一个方法只需要访问类的静态域(例如:Employee.getNextId)
8.工厂方法:


9.main方法
不需要使用对象调用静态方法。
main方法也是一个静态方法

















