选用教材:《Java核心技术卷一》
第四章 对象与类
一、几个难理解的知识点:
1、隐式参数与显式参数
例如:
public void raiseSalary(double bypercent)//将工资多提高几个百分点 { double raise=salary*bypercent/100; salary+=raise; }
显式参数:是指raiseSalary方法中,括号里的bypercent。也就是我们能看到的参数。
隐式参数:raiseSalary方法实际上包含在Employee类中,假设Employee类构造的对象是数组元素staff[1],那么这里的隐式参数指的就是staff[1]。
因为salary是satff[1]调用的(staff[1].salary)。
2、可变类与不可变类、可变对象与不可变对象
Date类是一个可变类,因为它包含了一个settime方法,可以对对象进行更改;String类是一个不可变类,因为这个类里没有可以更改对象状态的方法。
可变对象与不可变对象大致上和类是一样的道理。
3、一般常量/实例字段与静态常量
常量即是用final修饰的变量。静态常量比一般常量多了一个static修饰符,例:static final int name。
二者的相同点是:都无法再改变它们的值。
二者的区别是:一般常量需要通过对象来调用它,静态常量则无需通过对象来调用。
4、静态方法和非静态方法
非静态方法需要通过对象来调用,静态方法则不需要。也就是说静态方法只有显式参数,没有隐式参数。
5、构造器与工厂方法
因为构造器名必须与类名相同,所有有时很难读得懂构造器的功能。比如新建一个名为Date的构造器,它的参数可以是1位或者是多位的。只有读到程序的其他说明部分,才知道究竟是新建了一个什么样的构造器。
但是工厂方法就可以用上各种各样的名字,给程序增加了可读性。
原文:https://www.cnblogs.com/yizhinailu/p/12519879.html